Le cœur de la programmation est passé de l'écriture du code à la compréhension du système, les bases de code étant bien plus souvent lues qu'étendues. Une étude de synthèse de 2025 souligne que les erreurs dans le code généré proviennent davantage d'hypothèses logico-sémantiques erronées que de problèmes syntaxiques. Les modèles d'IA peuvent reconnaître des motifs, mais sont incapables de déduire les causes ; lorsque la signification sous-jacente est invisible, ils produisent des hallucinations, ce qui reflète le défaut structurel selon lequel le « pourquoi » des décisions est généralement absent du code.
L'histoire du développement logiciel est une tentative de réduire la charge mentale, passant du langage assembleur aux langages de haut niveau et aux frameworks, l'accent se déplaçant du « comment » au « quoi ». Mais l'abstraction économise la frappe, tout en augmentant la charge d'interprétation. Par exemple, la fonction calculateTotal() masque l'implémentation et la signification, obligeant le lecteur à reconstruire les parties invisibles. À mesure que le développement logiciel mûrit, le goulot d'étranglement principal passe de la mise en œuvre technique à la compréhension sémantique, faisant de la compréhensibilité du code un défi central.
Des principes d'architecture comme la conception pilotée par le domaine (DDD) mettent l'accent sur la compréhensibilité du code, mais supposent que la compréhension métier existe déjà, et la visibilité des décisions dans le code reste limitée. La charge mentale survient lorsque le code n'exprime pas de sens ; les études montrent que la compréhension du code s'accompagne d'une charge cognitive mesurable, et les identifiants entièrement épelés sont compris environ 19 % plus vite que les abréviations. Les situations courantes incluent les transformations de sens non marquées, les règles implicites et le manque de structures orientées sémantique, ce qui conduit le code à porter une signification syntaxique plutôt que sémantique.

L'IA, en tant que miroir, reflète le problème de la compréhensibilité du code. Une étude de 2023 montre que les erreurs des grands modèles de langage (LLM) sont principalement des erreurs d'hypothèse et de logique, plutôt que des problèmes de syntaxe, signalant un manque d'indices décisionnels dans le contexte. Lorsque la lisibilité diminue, comme avec du code confus, les performances de l'IA et des humains déclinent toutes deux, tous deux dépendant d'indices explicites pour révéler la signification. Cela souligne l'importance d'améliorer la compréhensibilité du code pour réduire les erreurs logico-sémantiques.









