Featured image of post La Méthode du Canard en Plastique - pourquoi ça marche ?

La Méthode du Canard en Plastique - pourquoi ça marche ?

La programmation est un art complexe. Vous êtes un véritable architecte et votre mission est de concevoir, construire, décorer et entretenir une application, un peu comme vous le feriez pour une maison.

Cependant, une difficulté émerge : vous devez communiquer des informations à une machine à travers des langages de programmation pour que tout fonctionne. Alors que vous ne parlez pas à vos meubles pour les placer dans votre maison, n’est-ce pas ? N’est-ce pas ?

Cette petite différence est cruciale, car il arrive parfois que vous rencontriez un problème sans savoir pourquoi il est là. Vous avez développé cette chose tellement parfaitement qu’elle ne devrait pas échouer. Et pourtant, voilà un bug, et vous ne savez pas pourquoi.

La première chose à faire est bien évidemment d’accuser l’ordinateur. Après tout, vous savez ce que vous faites, il n’y a aucune raison pour que vous ayez écrit quelque chose de travers. C’est probablement cet imbécile d’ordinateur qui vous fait encore passer pour un idiot. Mais la vérité est difficile à avaler.

La machine fait exactement ce que vous lui dites de faire.

Bill Gates, probablement

Que vous le vouliez ou non, votre ordinateur est bête. Il récupère sans réfléchir l’information que vous lui fournissez et l’exécute. Et s’il échoue, c’est sans aucun doute de votre faute. Je sais que ça fait mal, croyez-moi. Mais ne vous inquiétez pas trop, cela est arrivé à chacun de nous, et au final, tout le monde s’en est sorti.

Maintenant, tout dépend de vous. Vous savez que vous avez fait quelque chose de travers, mais vous ne parvenez pas à savoir quoi. Que faire ? Faut-il chercher des réponses sur StackOverflow ? Démissionner de votre poste car vous n’êtes clairement pas à la hauteur ? La réponse est simple.

La première étape quand vous êtes bloqué, est de faire appel à la sagesse du canard.

Je sais ce que vous pensez en ce moment : Qu’est-ce que tu es en train de fumer et où puis-je trouver ça ? Mais croyez-moi, cette histoire de canard n’est pas une hallucination, c’est même LA meilleure façon de vous aider.

Ne vous inquiétez pas cependant, vous n’aurez pas besoin de conduire à la ferme la plus proche et voler un canard pour appliquer ce conseil. Dans notre cas, un canard en plastique est tout ce dont nous avons besoin.

Une fois que vous en avez un et que vous le placez sur votre bureau, la seule chose qu’il vous reste à faire est de lui parler. Allez-y, ne soyez pas timide. Et expliquez-lui ce qui se passe avec votre code.

Je préfère vous en parler tout de suite pour que vous ne soyez pas choqué quand vous serez confronté à la vérité, mais le canard ne vous répondra pas. C’est déchirant, je sais. Cependant, il est l’auditeur parfait et sa patience est bien au-dessus de celle de n’importe quel autre être humain, contrairement à vos collègues. De plus, le canard ne jugera jamais vos erreurs. Il est gentil et compréhensif.

Et plus vous lui expliquerez vos problèmes, plus vous réaliserez ce qui n’allait pas dans votre code. En effet, le fait d’expliquer correctement au canard ce que vous tentez de faire mettra en évidence une petite incohérence entre ce que vous avez fait et ce que vous essayez d’accomplir. Petit à petit, vous serez bientôt capable de repérer la ligne exacte de code qui causait tous vos problèmes et de la corriger comme un pro.

Et c’est pour ça que le canard est si utile. Non seulement vous laissez vos collègues travailler en paix, mais cet exercice vous oblige à prendre du recul par rapport à votre code afin de pouvoir l’expliquer à quelqu’un qui n’a aucune idée de ce qui se passe.

Cet effort de mettre des mots sur le comportement attendu et ce que vous avez pu accomplir jusqu’à présent mettra en lumière toutes les erreurs potentielles que vous auriez pu commettre pendant le développement, des choses qu’on ne voit pas quand on passe huit heures à regarder son code sans s’arrêter.

En décrivant ce que le code est censé faire et en observant ce qu’il fait réellement, toute incohérence entre ces deux devient apparente.

Stephen J. Baker

Alors, la prochaine fois que vous serez bloqué, ne dérangez pas vos collègues, économisez votre connexion internet et demandez simplement au canard !

Si vous souhaitez en savoir plus sur cette méthode, je vous conseille vivement de jeter un œil au site qui a inspiré ce billet : https://rubberduckdebugging.com/.

Licensed under CC BY-NC-SA 4.0
Généré avec Hugo
Thème Stack conçu par Jimmy