¿Qué es un código inalcanzable?

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

Cuando se diseña software, puede ser relativamente fácil crear sin darse cuenta un código inalcanzable. Cualquier interrupción significativa en el flujo del programa tiene el potencial de causar una sección de código inaccesible. 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 con 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 de generar código inalcanzable. En primer lugar, el manejo inadecuado de las estructuras de control al escribir código sin formato puede resultar en secciones de código inalcanzables. En segundo lugar, los errores en las estructuras de control que no son obvios durante el proceso de codificación, pero que aparecen cuando se ejecuta un programa, también pueden causar un código inalcanzable. El primer tipo de error tiene una variedad de nombres, incluido el error de codificación o el error de sintaxis, y el segundo tipo de error es un error de tiempo de ejecución. Los analizadores o compiladores suelen detectar los errores de codificación, pero los errores de tiempo de ejecución solo se pueden detectar probando y ejecutando el programa una vez finalizado.

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 en particular, pero luego no hace nada con el resultado del cálculo. Esto no es lo mismo que el código inalcanzable, que nunca se ejecuta. Tanto el código inaccesible como el inaccesible a menudo se pueden eliminar de un programa sin detrimento, o se pueden integrar de nuevo en el programa prestando especial atención al flujo de control del programa. Además, tanto el código inaccesible como el inaccesible generalmente se pueden detectar durante la codificación y antes de ejecutar un programa.

A pesar de su definición aparentemente nefasta, el código inalcanzable suele ser 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 ofensivo en poco tiempo. Si el flujo de control de un programa se monitorea cuidadosamente durante todo el proceso de codificación, la probabilidad de generar código inalcanzable es muy baja.