Méthode du canard en plastique
![Page d’aide sur l’homonymie](http://upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Confusion_colour.svg/20px-Confusion_colour.svg.png)
Ne doit pas être confondu avec Duck typing.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/Rubber_duck_assisting_with_debugging.jpg/220px-Rubber_duck_assisting_with_debugging.jpg)
La méthode du canard en plastique, appelée également méthode du canard en caoutchouc, est une pratique de revue du code source utilisée en génie logiciel dans les phases de débogage.
Principe
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Verisure_IT_developers_area_at_Ch%C3%A2tenay-Malabry_-_2019-10-10.jpg/220px-Verisure_IT_developers_area_at_Ch%C3%A2tenay-Malabry_-_2019-10-10.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/9/94/24079-Debugging-Duck-Feature_%28cropped%29.jpg/220px-24079-Debugging-Duck-Feature_%28cropped%29.jpg)
La méthode du canard en plastique consiste à expliquer méticuleusement le code source que l'on a écrit à un collègue, à un simple passant, ou même à un objet inanimé comme un canard en plastique[1],[2]. Le simple fait d'exprimer ses pensées à voix haute est censé aider à trouver les erreurs de programmation. Comme les réactions de l'interlocuteur ou son niveau de compréhension du problème n'ont aucune importance dans ce processus, il est possible de le remplacer par un canard en plastique.
Lorsque le programmeur ou l'analyste explique un bout de code ou un algorithme qui est incorrect, il peut en effet se rendre compte de son erreur. La méthode du canard en caoutchouc exploite un support pouvant aider à imaginer un contexte nouveau, favorisant une transposition, contraignant ainsi le programmeur à expliciter l'implicite, en l'adaptant pour le faire comprendre depuis un autre point de vue. Cela est susceptible de confronter le concepteur au fait que le code qu'il a écrit ne correspond pas au code qu'il avait l'intention d'écrire.
L'avantage du canard en plastique sur un interlocuteur humain est que sa capacité d'écoute et sa patience sont sans limite. Son temps est aussi moins précieux que celui d'un consultant ou d'un collègue[3]. Le fait qu'il soit petit permet de le placer discrètement à côté d'un écran d'ordinateur.
Ce principe est aussi utile pour d'autres types de travaux. Par exemple, un projet devant être présenté à l'oral à l'aide d'un diaporama. Il suffit de décrire le projet à une personne ou à son canard en plastique pour le faire de la manière la plus simple possible, ce qui permet de trouver un fil conducteur naturel.
Origine
L'ouvrage d'Andrew Hunt et David Thomas, The Pragmatic Programmer: From Journeyman to Master, publié en 1999, semble être le premier à mentionner la méthode du canard en caoutchouc sous ce nom (rubber ducking en anglais)[4]. Selon cet ouvrage, David Thomas a fréquenté un étudiant à l'Imperial College London nommé Greg Pugh, réputé excellent programmeur. Greg Pugh transportait en permanence avec lui un canard en caoutchouc jaune et a expliqué le procédé à David Thomas à sa demande.
Cette méthode a ensuite été rendue célèbre en 2002 par Andrew Errington sur un forum en ligne[5].
Brian Kernighan et Rob Pike ont eux aussi décrit la méthode dans un ouvrage papier publié en 1999, mais en faisant référence à un ours en peluche[6]. Stephen J. Baker l'a décrite en utilisant une figurine de chien en carton à la place d'un canard en caoutchouc[3]. Russ Freeman suggère d'employer une effigie en carton d'un collègue programmeur[7].
Cette technique est enseignée à l'Université de Sherbrooke sous l'appellation « parler à une plante verte »[8].
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Rubber duck debugging » (voir la liste des auteurs).
- ↑ (en) Essential Equipment - The Third Bit.
- ↑ (en) What is this particular type of revelation called? - Stack Overflow.
- ↑ a et b (en) The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability.
- ↑ (en) Andrew Hunt et David Thomas, The Pragmatic Programmer : From Journeyman to Master, Addison-Wesley Professional, , 352 p. (ISBN 978-0-201-61622-4), p. 95.
- ↑ (en) Description de la méthode par Andrew Errington.
- ↑ (en) Brian Kernighan et Rob Pike, The Practice of Programming, Addison-Wesley Professional, , 288 p. (ISBN 978-0-201-61586-9, lire en ligne), p. 123.
- ↑ (en) Cardboard programmer.
- ↑ « IGL501 Méthodes formelles en génie logiciel »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?), sur www.dmi.usherb.ca (consulté le ).
Voir aussi
Articles connexes
- Revue de code
- Méthode de la pensée à voix haute
- Daruma#Rituels associés
Lien externe
- (en) Site honorant la méthode du canard en plastique
Portail de la programmation informatique
Portail de la psychologie