O que é um código inacessível?
Código inacessível é o código de programação que não pode ser executado em nenhum contexto. Há várias razões para isso ocorrer, e muitas linguagens de computador não permitem a execução de um programa se uma seção do código estiver inacessível. Os problemas gerados pelo código inacessível podem ser corrigidos removendo a seção problemática do código ou reescrevendo parte do código para tornar a seção acessível novamente.
Ao projetar software, pode ser relativamente fácil criar inadvertidamente código inacessível. Qualquer interrupção significativa no fluxo do programa pode causar uma seção de código inacessível. Por exemplo, a criação acidental de um loop infinito pode tornar todo o código que vem depois dele inacessível, porque nunca haveria como sair do loop e continuar o programa. Outra maneira de isso acontecer é se uma função for codificada para retornar antes de todo o seu código ser executado. Nesse caso, o código após a declaração de retorno estaria inacessível.
Existem duas maneiras pelas quais códigos inacessíveis podem ser gerados. Primeiro, o manuseio inadequado das estruturas de controle ao escrever código bruto pode resultar em seções de código inacessíveis. Segundo, erros nas estruturas de controle que não são óbvias durante o processo de codificação, mas aparecem quando um programa é executado, também podem causar códigos inacessíveis. O primeiro tipo de erro tem vários nomes, incluindo erro de codificação ou erro de sintaxe, e o segundo tipo de erro é um erro de tempo de execução. Os erros de codificação geralmente são capturados pelos analisadores ou compiladores, mas os erros de tempo de execução só podem ser detectados testando e executando o programa após a conclusão.
Código inacessível é frequentemente confundido com código morto, mas os dois são coisas significativamente diferentes. Código morto é o código que executa um cálculo específico, mas não faz nada com o resultado do cálculo. Não é o mesmo que código inacessível, que nunca é executado. O código inacessível e o código morto geralmente podem ser removidos de um programa sem prejuízo ou podem ser integrados novamente ao programa prestando muita atenção ao fluxo de controle do programa. Além disso, o código inacessível e o código morto geralmente podem ser detectados durante a codificação e antes da execução de um programa.
Apesar de sua definição aparentemente terrível, o código inacessível geralmente é relativamente fácil de corrigir. A presença de código inacessível sempre indica um problema no fluxo de controle; portanto, uma análise cuidadosa do fluxo de controle de um programa geralmente identifica o código incorreto em pouco tempo. Se o fluxo de controle de um programa for cuidadosamente monitorado durante todo o processo de codificação, a probabilidade de gerar código inacessível é muito baixa.