Chapitre 9. La mise en place de la charpie avec Ruffet pre-commit
En 1978, Stephen C. Johnson, chercheur aux laboratoires Bell, a écrit un programme capable de détecter un certain nombre de bogues et d'obscurités dans le code C. Il a nommé le programme d'après les peluches de ton pull-over lorsque tu le sors de la machine à laver : Lint. Ce programme allait devenir le premier d'une longue lignée de linters, des programmes qui analysent le code source et signalent les constructions problématiques.
Les linters n'exécutent pas un programme pour en découvrir les problèmes sur ; ils lisent et analysent son code source. Ce processus est connu sous le nom d'analyse statique, par opposition à l'analyse dynamique. Il rend les linters à la fois rapides et sûrs - tu n'as pas à t'inquiéter des effets secondaires, tels que les demandes adressées aux systèmes de production. Les vérifications statiques peuvent être intelligentes et assez complètes - il n'est pas nécessaire de trouver la bonne combinaison de cas limites pour déterrer un bogue latent.
Note
L'analyse statique est puissante, mais tu dois quand même écrire des tests pour tes programmes. Là où les vérifications statiques utilisent la déduction, les tests utilisent l'observation. Les linters vérifient un ensemble limité de propriétés génériques du code, tandis que les tests peuvent valider qu'un programme ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access