Skip to main content

¿Qué es un código inalcanzable?

  • Darnell

El código inalcanzable es un código de programación que no se puede ejecutar en ningún contexto. Hay una variedad de razones por las cuales esto podría ocurrir, y muchos lenguajes de computadora no permiten la ejecución de un programa si no se puede acceder a una sección del código. Los problemas generados por el código inalcanzable se pueden solucionar eliminando la sección problemática del código o reescribiendo parte del código para que la sección sea accesible nuevamente.

Al diseñar software, puede ser relativamente fácil crear un código inalcanzable sin darse cuenta. Cualquier interrupción significativa en el flujo del programa tiene el potencial de causar una sección de código que es inalcanzable. Por ejemplo, la creación accidental de un bucle infinito puede hacer que todo el código que viene después sea inalcanzable porque no habría forma de salir del bucle y continuar el programa. Otra forma en que esto puede suceder es si una función está codificada para regresar antes de que se ejecute todo su código. En este caso, el código después de la declaración de devolución sería inalcanzable.

Hay dos formas en que se puede generar código inalcanzable. Primero, el manejo incorrecto de las estructuras de control al escribir código sin formato puede dar como resultado secciones de código que son inalcanzables. En segundo lugar, los errores en las estructuras de control que no son obvias durante el proceso de codificación, pero que aparecen cuando se ejecuta un programa, también pueden causar código que no se puede alcanzar. El primer tipo de error tiene varios nombres, incluido el error de codificación o error de sintaxis, y el segundo tipo de error es un error de tiempo de ejecución. Los errores de codificación generalmente son detectados por analizadores o compiladores, pero los errores de tiempo de ejecución solo se pueden detectar probando y ejecutando el programa después de la finalización.

El código inalcanzable a menudo se confunde con el código muerto, pero los dos son cosas significativamente diferentes. El código muerto es un código que ejecuta un cálculo particular, pero luego no hace nada con el resultado del cálculo. Esto no es lo mismo que el código que es inalcanzable, que nunca se ejecuta en absoluto. Tanto el código inaccesible como el inactivo a menudo pueden eliminarse de un programa sin perjuicio, o pueden integrarse nuevamente en el programa prestando especial atención al flujo de control del programa. Además, tanto el código inaccesible como el inactivo generalmente se pueden detectar durante la codificación y antes de ejecutar un programa.

A pesar de su definición aparentemente grave, el código inalcanzable es a menudo relativamente fácil de arreglar. La presencia de código inalcanzable siempre indica un problema de flujo de control, por lo que un análisis cuidadoso del flujo de control de un programa generalmente identificará el código infractor en poco tiempo. Si el flujo de control de un programa se supervisa cuidadosamente durante todo el proceso de codificación, la probabilidad de generar código inalcanzable es muy baja.