Qu'est-ce qu'un code inaccessible?
Un code inaccessible est un code de programmation qui ne peut être exécuté dans aucun contexte. Cela peut être dû à diverses raisons et de nombreux langages informatiques ne permettent pas l'exécution d'un programme si une section de code est inaccessible. Les problèmes générés par un code inaccessible peuvent être résolus en supprimant la section de code qui pose problème ou en réécrivant une partie du code pour rendre la section accessible à nouveau.
Lors de l'ingénierie d'un logiciel, il peut être relativement facile de créer par inadvertance un code inaccessible. Toute perturbation importante dans le déroulement du programme peut potentiellement rendre une section de code inaccessible. Par exemple, la création accidentelle d'une boucle infinie peut rendre tout le code qui vient après être inaccessible, car il n'y aurait aucun moyen de sortir de la boucle et de poursuivre le programme. Cela peut également se produire si une fonction est codée pour être renvoyée avant que tout son code ne soit exécuté. Dans ce cas, le code après l'instruction de retour serait inaccessible.
Un code inaccessible peut être généré de deux manières. Premièrement, le traitement incorrect des structures de contrôle lors de l'écriture de code brut peut entraîner des sections de code inaccessibles. Deuxièmement, des erreurs dans les structures de contrôle qui ne sont pas évidentes lors du processus de codage, mais qui apparaissent lors de l'exécution d'un programme, peuvent également rendre le code inaccessible. Le premier type d'erreur porte plusieurs noms, y compris une erreur de codage ou une erreur de syntaxe, et le second type d'erreur est une erreur d'exécution. Les erreurs de codage sont généralement détectées par des analyseurs ou des compilateurs, mais les erreurs d'exécution ne peuvent être détectées qu'en testant et en exécutant le programme une fois terminé.
Le code inaccessible est souvent confondu avec le code mort, mais les deux sont des choses très différentes. Le code mort est un code qui exécute un calcul particulier, mais ne fait rien ensuite avec le résultat du calcul. Ce n'est pas la même chose que du code inaccessible, qui n'est jamais exécuté. Les codes inaccessibles et morts peuvent souvent être supprimés d'un programme sans préjudice, ou peuvent être intégrés dans le programme en prêtant une attention particulière au flux de contrôle du programme. De plus, les codes inaccessibles et morts peuvent généralement être détectés pendant le codage et avant l'exécution d'un programme.
Malgré sa définition apparemment désespérée, le code inaccessible est souvent relativement facile à corriger. La présence de code inaccessible indique toujours un problème de flux de contrôle. Par conséquent, une analyse minutieuse du flux de contrôle d'un programme permet généralement d'identifier rapidement le code incriminé. Si le flux de contrôle d'un programme est soigneusement surveillé tout au long du processus de codage, la probabilité de générer un code inaccessible est très faible.