fbpx
Wikipedia

Código muerto

En programación, se conoce como código muerto a una parte del código fuente que se ejecuta pero sus resultados nunca se usan.[1][2]​ La ejecución de este tipo de código consume tiempo de computo en algo que jamás se utiliza.

Es frecuente confundirlo con el código inalcanzable aunque conservan una diferencia (este jamás se ejecuta, y si bien los dos son indeseables el código muerto es más grave que el inalcanzable).

Además de consumir tiempo de computo el código muerto puede arrojar excepciones o afectar un estado global del programa. por lo tanto si bien los resultados jamás se utilizan remover este código puede cambiar la salida del programa y evitar bugs innecesarios. Esta es una razón por la cual el código muerto es menos deseado que el código inalcanzable.

Análisis

Se puede utilizar una optimización de compilador llamada eliminación de código muerto para eliminar este código. Este análisis se puede llevar a cabo mediante el análisis de variable viva, que es una forma de análisis estático de software y análisis de flujo de datos. Esta también es una diferencia con respecto al código inalcanzable que se descubre mediante un análisis de control del flujo.

La eliminación de código en general es la misma técnica que se usa para eliminar el código inalcanzable y el código redundante.

En los proyectos de programación grandes, a veces es difícil de reconocer y eliminar código muerto, especialmente cuando algún módulo entero quede muerto.[3]

Algunos IDE (como Visual Studio 2010[4]​ y Eclipse[5]​) poseen la habilidad de detectar código muerto durante tiempo de compilación.

Ejemplo

int foo (int X, int Y) { int Z = X/Y; return X*Y; } 

En el código anterior la división entre X e Y se calcula pero jamás se utiliza, además, en el caso que Y sea 0 el programa arrojaría una excepción con posibilidad de abortar la ejecución, por lo tanto la salida del programa se ve afectada por esta línea.

Véase también

Referencias

  1. Debray, S. K., Evans, W., Muth, R., and De Sutter, B. 2000. Compiler techniques for code compaction. ACM Trans. Program. Lang. Syst. 22, 2 (Mar. 2000), 378-415.
  2. Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University Press.
  3. Douglas W. Jones Dead Code Maintenance, Risks 8.19 (Feb. 1, 1989) el 8 de julio de 2011 en Wayback Machine.
  4. Habib Heydarian, Microsoft Corp.[1]
  5. Eclipse Developer Guide[2]

Bibliografía

  • Muchnick S. S. 1997 Advanced Compiler Design and Implementation. Morgan Kaufmann.
  • Appel, A. W. 1998 Modern Compiler Implementation in Java. Cambridge University Press.

Enlaces externos

  • Optimización de código
  • UCDetector Plugin Eclipse para encontrar código muerto Java
  •   Datos: Q1770035

código, muerto, programación, conoce, como, código, muerto, parte, código, fuente, ejecuta, pero, resultados, nunca, usan, ejecución, este, tipo, código, consume, tiempo, computo, algo, jamás, utiliza, frecuente, confundirlo, código, inalcanzable, aunque, cons. En programacion se conoce como codigo muerto a una parte del codigo fuente que se ejecuta pero sus resultados nunca se usan 1 2 La ejecucion de este tipo de codigo consume tiempo de computo en algo que jamas se utiliza Es frecuente confundirlo con el codigo inalcanzable aunque conservan una diferencia este jamas se ejecuta y si bien los dos son indeseables el codigo muerto es mas grave que el inalcanzable Ademas de consumir tiempo de computo el codigo muerto puede arrojar excepciones o afectar un estado global del programa por lo tanto si bien los resultados jamas se utilizan remover este codigo puede cambiar la salida del programa y evitar bugs innecesarios Esta es una razon por la cual el codigo muerto es menos deseado que el codigo inalcanzable Indice 1 Analisis 2 Ejemplo 3 Vease tambien 4 Referencias 5 Bibliografia 6 Enlaces externosAnalisis EditarSe puede utilizar una optimizacion de compilador llamada eliminacion de codigo muerto para eliminar este codigo Este analisis se puede llevar a cabo mediante el analisis de variable viva que es una forma de analisis estatico de software y analisis de flujo de datos Esta tambien es una diferencia con respecto al codigo inalcanzable que se descubre mediante un analisis de control del flujo La eliminacion de codigo en general es la misma tecnica que se usa para eliminar el codigo inalcanzable y el codigo redundante En los proyectos de programacion grandes a veces es dificil de reconocer y eliminar codigo muerto especialmente cuando algun modulo entero quede muerto 3 Algunos IDE como Visual Studio 2010 4 y Eclipse 5 poseen la habilidad de detectar codigo muerto durante tiempo de compilacion Ejemplo Editarint foo int X int Y int Z X Y return X Y En el codigo anterior la division entre X e Y se calcula pero jamas se utiliza ademas en el caso que Y sea 0 el programa arrojaria una excepcion con posibilidad de abortar la ejecucion por lo tanto la salida del programa se ve afectada por esta linea Vease tambien EditarCodigo inalcanzable Codigo redundanteReferencias Editar Debray S K Evans W Muth R and De Sutter B 2000 Compiler techniques for code compaction ACM Trans Program Lang Syst 22 2 Mar 2000 378 415 Appel A W 1998 Modern Compiler Implementation in Java Cambridge University Press Douglas W Jones Dead Code Maintenance Risks 8 19 Feb 1 1989 Archivado el 8 de julio de 2011 en Wayback Machine Habib Heydarian Microsoft Corp 1 Eclipse Developer Guide 2 Bibliografia EditarMuchnick S S 1997 Advanced Compiler Design and Implementation Morgan Kaufmann Appel A W 1998 Modern Compiler Implementation in Java Cambridge University Press Enlaces externos EditarOptimizacion de codigo Dead Code Detector DCD Java JEE Comparacion de DCD para Java UCDetector Plugin Eclipse para encontrar codigo muerto Java Datos Q1770035Obtenido de https es wikipedia org w index php title Codigo muerto amp oldid 125249019, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos