J'étais le développeur qui a corrigé des bugs en modifiant les choses aléatoires jusqu'à ce que l'erreur disparaisse.
Copiez du code de Stack Overflow, modifiez quelques variables, redémarrez le serveur, priez les dieux de la programmation. Quand quelque chose a miraculeusement fonctionné, je le commetmais immédiatement avant que l'univers ne le remarque et le rompt à nouveau.
Cette approche a bien fonctionné pour les projets de jouets et les hackathons du week-end. Mais une fois que j'ai commencé à travailler sur le code de production avec de vraies délais, ma stratégie "Guess and Check" est devenue une responsabilité. Alors que d'autres développeurs semblaient diagnostiquer instantanément les problèmes, je me détendais toujours dans les outils de développement du navigateur se demandant pourquoi mon code parfaitement raisonnable était parfaitement déraisonnable.
Tout a changé lorsque j'ai appris une technique qui semblait presque embarrassante. Si simple que je l'ai initialement rejeté comme trop basique pour être utile.
J'ai eu tort. Cette pratique m'a fait économiser d'innombrables heures, a empêché les catastrophes de production et a fait de moi la personne à laquelle mon équipe arrive quand elle est coincée sur des bugs impossibles.
Chaque développeur a entendu parler de débogage de canard en caoutchouc - expliquant votre code à un objet inanimé pour trouver la faille de votre logique. Cela fonctionne parce que l'articulation oblige la clarté. Lorsque vous devez verbaliser vos hypothèses, vous découvrez souvent qu'ils se trompent.
Mais voici ce que la plupart des développeurs manquent: la méthode de canard en caoutchouc fonctionne encore mieux lorsque vous l'écrivez au lieu de simplement parler.
La technique que je suis sur le point de partager est essentiellement le débogage de canards en caoutchouc avec une touche - vous n'expliquez pas seulement ce que fait votre code, vous documentez ce que vous vous attendez, ce qu'il fait réellement et le point spécifique où ces deux choses divergent.
Je l'appelle «mappage des attentes», et c'est la chose la plus proche d'une superpuissance de débogage que j'ai jamais trouvée.
Lorsque je rencontre un bogue qui n'est pas immédiatement évident, j'ouvre un fichier texte simple et crée ...
[Courte citation de 8% de l'article original]