کد نفخ

(تغییرمسیر از کد بادشکم)

در برنامه‌نویسی رایانه، کد نفخ (به انگلیسی: code bloat) نوعی ایجاد کد برنامه (کد منبع یا کد ماشین) است که منابع را هدر می‌دهد، کد را دراز می‌کند یا کد را آهسته می‌سازد. کدهای نفخی می‌تواند به دلیل بی کفایتی زبان برنامه‌نویسی که کد به آن زبان نوشته شده‌است، ایجاد شود. همچنین ممکن است دلیل آن بی کفایتی کامپایلری که آن را کامپایل می‌کند یا بی کفایتی برنامه‌نویسی باشد که آن را نوشته‌است؛ بنابراین، درحالیکه کد نفخ معمولاً به اندازه کد منبع برمی‌گردند (یعنی توسط برنامه‌نویس ایجاد شده‌اند)، می‌تواند در عوض به سایز کد تولید شده یا حتی سایز فایل دودویی اشاره کند.[۱]

مثال‌ها ویرایش

در الگوریتم جاوااسکریپت که در ادامه می‌آید، تعداد زیادی متغیر اضافی، منطق غیرلازم، و اتصال رشتهٔ ناکارآمد وجود دارد.[۱]

// 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=%22;
    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;
};

منطق مشابه می‌تواند به صورت موثرتر به صورت زیر بیان گردد:[۱]

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

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

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

منابع ویرایش

  1. ۱٫۰ ۱٫۱ ۱٫۲ "Code bloat". Wikipedia (به انگلیسی). 2020-01-30.