L’intuition du développeur, le code lisible et les neurosciences : pourquoi certains codes nous mettent-ils à l’aise ?
(evan-moon.github.io)Les discussions autour du « code lisible » sont souvent reléguées au rang des préférences personnelles ou des habitudes, alors qu’elles reposent en réalité sur des principes issus des sciences cognitives. Cet article décompose l’« intuition » du développeur sous l’angle des neurosciences et analyse la lisibilité, cette sensation abstraite, comme une structure logique.
-
L’intuition n’est pas magique, mais une forme très avancée de mise en correspondance de motifs Quand un développeur expérimenté « sent » immédiatement qu’un code a une mauvaise odeur, il ne s’agit pas d’un simple ressenti. C’est le striatum ventral (Ventral Striatum) qui compare en temps réel le code présent à une multitude de motifs de code appris par le passé. Autrement dit, l’intuition n’est pas une logique absente : c’est le résultat d’un « calcul à grande vitesse » si rapide que le processus logique n’apparaît pas à la surface de la conscience.
-
Les limites de la mémoire de travail (Working Memory) et de la charge cognitive La mémoire de travail humaine ne peut traiter à la fois qu’environ 3 à 5 unités d’information (chunks). Un code peu lisible épuise cette ressource limitée.
Sauts cognitifs inutiles : un code dans lequel la déclaration et l’exécution sont trop éloignées, ou dont les relations de causalité sont embrouillées, oblige le cerveau à effectuer en permanence des « context switchings » pour conserver le contexte courant.
Visibilité psychologique : si un code se lit d’un seul coup d’œil, cela signifie que le cerveau l’a immédiatement mappé à un motif déjà connu (schema), sans passer par une étape d’interprétation supplémentaire.
- Concevoir le code avec le chunking L’efficacité du cerveau est maximale lorsqu’il regroupe des données individuelles pour les percevoir comme une seule unité.
Des fonctions et des modules bien conçus abstraient une logique complexe en un seul « chunk », ce qui aide le lecteur à saisir le contexte global sans avoir à garder en tête les détails d’implémentation.
Mais une abstraction excessive oblige au contraire à regarder à l’intérieur du « chunk » pour en comprendre le sens, provoquant une « inefficacité cognitive » qui double le coût d’interprétation pour le cerveau.
- La loi de conservation de l’énergie du cerveau et la cohérence du code Le cerveau est un organe qui consomme plus de 20 % de l’énergie du corps et cherche instinctivement à réduire cette dépense. Des noms incohérents ou des conventions irrégulières brisent le « modèle prédictif » du cerveau et lui font dépenser de l’énergie inutilement. À l’inverse, un code aux règles claires permet au cerveau de le lire en mode « pilotage automatique », ce qui réduit la fatigue.
Conclusion : la lisibilité, c’est prendre soin du cerveau de ses collègues En fin de compte, une bonne conception du code est une conception cognitive qui minimise l’énergie que les autres développeurs doivent consacrer à la reconnaissance de motifs. Améliorer la lisibilité ne consiste pas simplement à rendre le code plus élégant : c’est l’acte le plus économique pour protéger les ressources cognitives limitées de ses collaborateurs.
Aucun commentaire pour le moment.