Nadęcie kodu

W programowaniu komputerowym rozdęcie kodu to tworzenie kodu programu ( kodu źródłowego lub kodu maszynowego ), który jest postrzegany jako niepotrzebnie długi, powolny lub w inny sposób marnujący zasoby. Rozdęcie kodu może być spowodowane niedoskonałościami języka programowania , w którym napisano kod, kompilatora użytego do jego skompilowania lub programisty, który go napisał. Tak więc, podczas gdy rozdęcie kodu ogólnie odnosi się do rozmiaru kodu źródłowego (wytworzonego przez programistę), można go użyć zamiast tego w odniesieniu do wygenerowanego rozmiaru kodu, a nawet rozmiaru pliku binarnego .

Przykłady

Poniższy algorytm JavaScript ma dużą liczbę zbędnych zmiennych, niepotrzebną logikę i nieefektywne łączenie łańcuchów.


     
       
       
           
       
        
        
            
   
      0
      
      0
      
      
      
    
        0     
          
    
    
          
     
 Funkcja  złożona  TK2getImageHTML  (  rozmiar  ,  powiększenie  ,  czujnik  ,  znaczniki  )  {  var  strFinalImage  =  ""  ;  var  strHTMLStart  =  '<img src="'  ;  var  strHTMLEnd  =  '" alt="Mapa"/>'  ;  var  strURL  =  "http://maps.google.com/maps/api/staticmap?center="  ;  var  strRozmiar  =  '&rozmiar='  +  rozmiar  ;  var  strZoom  =  '&zoom='  +  zoom  ;  var  strCzujnik  =  '&czujnik='  +  czujnik  ;  strURL  +=  znaczniki  [  ].  szerokość geograficzna  ;  strURL  +=  ","  ;  strURL  +=  znaczniki  [  ].  długość geograficzna  ;  strURL  +=  strRozmiar  ;  strURL  +=  strZoom  ;  strURL  +=  strCzujnik  ;  for  (  var  i  =  ;  i  <  znaczniki  .  długość  ;  i  ++  )  {  strURL  +=  znaczniki  [  i  ].  dodajMarker  ();  }  strFinalImage  =  strHTMLStart  +  strURL  +  strHTMLEnd  ;  powrót  strFinalImage  ;  }; 

Tę samą logikę można sformułować wydajniej w następujący sposób:


        
            
                 

        

       
 // Uproszczony  const  TK2getImageHTML  =  (  rozmiar  ,  powiększenie  ,  czujnik  ,  znaczniki  )  =>  {  const  [  {  szerokość  ,  długość geograficzna  }  ]  =  znaczniki  ;  let  url  =  `http://maps.google.com/maps/api/staticmap?center=  ${  szerokość geograficzna  }  ,  ${  długość geograficzna  }  &size=  ${  rozmiar  }  &zoom=  ${  zoom  }  &sensor=  ${  czujnik  }  `  ;  znaczniki  .  forEach  (  znacznik  =>  adres URL  + =  znacznik  .  addMarker  ());  return  `<img src="  ${  url  }  " alt="Mapa" />`  ;  }; 

Gęstość kodu w różnych językach

Różnica w gęstości kodu między różnymi językami komputerowymi jest tak duża, że ​​często potrzeba mniej pamięci do przechowywania zarówno programu napisanego w „zwartym” języku (takim jak specyficzny dla domeny język programowania , Microsoft P-Code lub kod wielowątkowy ), plus tłumacz dla tego zwartego języka (napisany w kodzie natywnym), niż przechowywać ten program napisany bezpośrednio w kodzie natywnym .

Zmniejszenie wzdęć

Niektóre techniki zmniejszania rozdęcia kodu obejmują:

Zobacz też