Este artículo necesita citas adicionales para su verificación . ( junio de 2014 ) |
En programación informática , la hinchazón de código es la producción de código de programa ( código fuente o código de máquina ) que se percibe como innecesariamente largo, lento o que desperdicia recursos. La hinchazón de código puede deberse a deficiencias en el lenguaje de programación en el que está escrito el código, el compilador utilizado para compilarlo o el programador que lo escribe. Por lo tanto, si bien la hinchazón de código generalmente se refiere al tamaño del código fuente (tal como lo produce el programador), puede usarse para referirse en cambio al tamaño del código generado o incluso al tamaño del archivo binario .
El siguiente algoritmo de JavaScript tiene una gran cantidad de variables redundantes , lógica innecesaria y una concatenación de cadenas ineficiente.
// Función compleja TK2getImageHTML ( tamaño , zoom , sensor , marcadores ) { var strFinalImage = "" ; var strHTMLStart = '<img src="' ; var strHTMLEnd = '" alt="El mapa"/>' ; var strURL = "http://maps.google.com/maps/api/staticmap?center=" ; var strSize = '&size=' + tamaño ; var strZoom = '&zoom=' + zoom ; var strSensor = '&sensor=' + sensor ; strURL += marcadores [ 0 ]. latitud ; strURL += "," ; strURL += marcadores [ 0 ]. longitud ; strURL += strTamaño ; strURL += strZoom ; strURL += strSensor ; for ( var i = 0 ; i < marcadores . longitud ; i ++ ) { strURL += marcadores [ i ]. agregarMarcador (); } strFinalImagen = strHTMLStart + strURL + strHTMLEnd ; devolver strFinalImagen ; };
La misma lógica se puede expresar de manera más eficiente de la siguiente manera:
// Simplificado const TK2getImageHTML = ( tamaño , zoom , sensor , marcadores ) => { const [ { latitud , longitud } ] = marcadores ; let url = `http://maps.google.com/maps/api/staticmap?center= ${ latitud } , ${ longitud } & tamaño = ${ tamaño } & zoom = ${ zoom } & sensor = ${ sensor } ` ; marcadores . forEach ( marcador => url += marcador . addMarker ()); devuelve `<img src=" ${ url } " alt="El mapa" />` ; };
La diferencia en la densidad de código entre varios lenguajes de computadora es tan grande que a menudo se necesita menos memoria para almacenar un programa escrito en un lenguaje "compacto" (como un lenguaje de programación específico de dominio , Microsoft P-Code o código enhebrado ), más un intérprete para ese lenguaje compacto (escrito en código nativo), que para almacenar ese programa escrito directamente en código nativo .
Algunas técnicas para reducir la hinchazón del código incluyen: [1]