Kod şişkinliği - Code bloat

Gelen bilgisayar programlama , kod kabartmak üretimidir program kodu ( kaynak kodu veya makine kodu kaynaklarının gereksiz yere uzun, yavaş veya başka savurgan olarak algılanan). Kod kabartmak yetersizlikler neden olabilir programlama dili kodu, yazıldığı derleyici derlemek için kullanılan veya programcı yazıyorum. Bu nedenle, kod şişmesi genellikle kaynak kod boyutuna (programcı tarafından üretildiği şekliyle) atıfta bulunurken, bunun yerine üretilen kod boyutuna veya hatta ikili dosya boyutuna atıfta bulunmak için kullanılabilir .

Örnekler

Aşağıdaki JavaScript algoritmasında çok sayıda artık değişken, gereksiz mantık ve verimsiz dize birleştirme vardır.

// Complex 
function TK2getImageHTML(size, zoom, sensor, markers) {
    var strFinalImage = "";
    var strHTMLStart = '<img src="';
    var strHTMLEnd = '" alt="The map"/>';    
    var strURL = "http://maps.google.com/maps/api/staticmap?center=";
    var strSize = '&size='+ size;
    var strZoom = '&zoom='+ zoom;
    var strSensor = '&sensor='+ sensor;    
   
    strURL += markers[0].latitude;
    strURL += ",";
    strURL += markers[0].longitude;
    strURL += strSize;
    strURL += strZoom;
    strURL += strSensor;
    
    for (var i = 0; i < markers.length; i++) {
        strURL += markers[i].addMarker();
    }
    
    strFinalImage = strHTMLStart + strURL + strHTMLEnd;
    return strFinalImage;
};

Aynı mantık daha verimli bir şekilde şu şekilde ifade edilebilir:

// Simplified 
const TK2getImageHTML = (size, zoom, sensor, markers) => {
    const [ { latitude, longitude } ] = markers;
    let url = `http://maps.google.com/maps/api/staticmap?center=${ latitude },${ longitude }&size=${ size }&zoom=${ zoom }&sensor=${ sensor }`;

    markers.forEach(marker => url += marker.addMarker());

    return `<img src="${ url }" alt="The map" />`;
};

Farklı dillerin kod yoğunluğu

Fark kod yoğunluğu çeşitli arasında bilgisayar dilleri genellikle az o kadar büyüktür bellek (gibi bir "kompakt" dilde yazılmış hem bir program tutmak için gerekli olan etki alanına özgü programlama dili , Microsoft, P-Code veya dişli kod ) artı bir tercüman (yerel kodda yazılmış) bu kompakt dil için, doğrudan yazılmış o programı tutmak için daha yerli kod .

Şişkinliği azaltmak

Kod şişmesini azaltmak için bazı teknikler şunları içerir:

  • Kod, yaygın olarak kullanılan kod dizisini bir alt yordama yeniden düzenleme ve kodu bu konumların her birine kopyalayıp yapıştırmak yerine, bu alt yordamı birkaç konumdan çağırma .
  • Yeni bir rutin olarak sıfırdan yeniden yazmak yerine, önceden yazılmış olan alt programları yeniden kullanmak (belki ek parametrelerle).

Ayrıca bakınız

Referanslar