stringtranslate.com

Раздувание кода

В компьютерном программировании раздувание кода — это создание программного кода ( исходного или машинного кода ), который воспринимается как излишне длинный, медленный или иным образом расточительный по ресурсам. Раздувание кода может быть вызвано несовершенством языка программирования , на котором написан код, компилятора , использованного для его компиляции, или программиста, написавшего его. Таким образом, хотя раздувание кода обычно относится к размеру исходного кода (созданному программистом), вместо этого его можно использовать для обозначения размера сгенерированного кода или даже размера двоичного файла .

Примеры

Следующий алгоритм JavaScript имеет большое количество избыточных переменных, ненужную логику и неэффективную конкатенацию строк.

// Сложная функция TK2getImageHTML ( размер , масштаб , сенсор , маркеры ) { var strFinalImage = "" ; var strHTMLStart = '<img src="' ; var strHTMLEnd = '" alt="Карта"/>' ; var strURL = "http://maps.google.com/maps/api/staticmap?center=" ; var strSize = '&size=' + размер ; var strZoom = '&zoom=' + масштабирование ; var strSensor = '&sensor=' + датчик ; strURL += маркеры [ 0 ]. широта ; стрURL += "," ; strURL += маркеры [ 0 ]. долгота ; стрURL += стрSize ; стрURL += стрZoom ; стрURL += стрсенсор ; for ( var я = 0 ; я < маркеры . длина ; я ++ ) { strURL += маркеры [ я ]. добавитьМаркер (); } StrFinalImage = strHTMLStart + strURL + strHTMLEnd ; вернуть стрфиналимаже ; };                                                                                  

Ту же логику можно более эффективно сформулировать следующим образом:

// Упрощенная const TK2getImageHTML = ( размер , масштаб , датчик , маркеры ) => { const [ { широта , долгота } ] = маркеры ; let url = `http://maps.google.com/maps/api/staticmap?center= ${ широта } , ${ долгота } &size= ${ размер } &zoom= ${ масштабирование } &sensor= ${ датчик } ` ;                                маркеры . forEach ( маркер => URL += маркер . addMarker ());     return `<img src=" ${ url } " alt="Карта" />` ; };   

Плотность кода разных языков

Разница в плотности кода между различными компьютерными языками настолько велика, что часто требуется меньше памяти для хранения программы, написанной на «компактном» языке (например, предметно-ориентированном языке программирования , Microsoft P-Code или многопоточном коде ), плюс интерпретатор этого компактного языка (написанного на собственном коде), чем хранить эту программу, написанную непосредственно на собственном коде .

Уменьшение раздувания

Некоторые методы уменьшения раздувания кода включают: [1]

Смотрите также

Рекомендации

  1. ^ «Раздувание кода». ДокФордж . Архивировано из оригинала 5 марта 2016 года . Проверено 30 декабря 2009 г.