- Méthode du canard en caoutchouc
-
La méthode du canard en caoutchouc[1],[2] désigne en génie logiciel une technique de débogage.
Sommaire
Méthode
La méthode du canard en caoutchouc 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 caoutchouc. 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, on peut le remplacer par un canard en caoutchouc.
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 la dissonance cognitive en confrontant 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 caoutchouc sur un interlocuteur humain est que sa capacité d'écoute et sa patience sont sans limites. 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.
Origines
L'ouvrage de 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 au Imperial college de Londres 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 la décrit 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].
Voir aussi
Articles connexes
Lien externe
Notes et références
- (en) Essential Equipment - The Third Bit
- (en) What is this particular type of revelation called? - Stack Overflow
- (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, octobre 1999, 352 p. (ISBN 978-0201616224), p. 95
- (en) Description de la méthode par Andrew Errington
- (en) Brian Kernighan et Rob Pike, The Practice of Programming, Addison-Wesley Professional, février 1999, 288 p. (ISBN 978-0201615869), p. 123
- Cardboard programmer
Catégorie :- Terminologie de l'informatique
Wikimedia Foundation. 2010.