← Toutes les histoiresOffice

Rubber duck debugging : pourquoi les développeurs parlent à un canard (et pourquoi ça marche)

3 min de lecture

Rubber duck debugging: why developers talk to a duck (and why it works)

Demandez à une salle pleine de développeurs qui a un canard en plastique sur son bureau, et vous verrez un nombre étonnant de mains se lever. Ce n’est pas qu’une blague. C’est une méthode de débogage, et elle porte un nom : le rubber duck debugging, ou méthode du canard en plastique.

Le rubber duck debugging, c’est quoi ?

Quand votre code ne fonctionne pas et que vous ne voyez pas pourquoi, vous l’expliquez à voix haute, ligne par ligne, à un canard en plastique. Ce que chaque ligne devrait faire, ce qu’elle fait vraiment, la valeur que vous attendez. Quelque part à mi-chemin, vous vous entendez dire quelque chose de faux. Le bug est là.

D’où vient la méthode

Le terme a été popularisé par The Pragmatic Programmer d’Andrew Hunt et David Thomas (1999), qui raconte l’histoire d’un programmeur qui se promenait avec un canard en plastique et déboguait son code en le lui expliquant. L’idée elle-même est plus ancienne : on ne comprend vraiment une chose que lorsqu’on sait l’expliquer.

Pourquoi ça marche

  • Ça vous oblige à ralentir. Quand vous lisez du code dans votre tête, vous survolez. Quand vous l’expliquez, impossible de sauter une ligne.
  • Ça vous force à formuler vos hypothèses. Les bugs se cachent souvent là où vous étiez sûr de vous.
  • Le canard ne vous coupe pas la parole. Un collègue proposerait tout de suite une piste. Le canard vous laisse aller au bout de votre raisonnement.
  • Vos collègues gagnent du temps. La moitié des questions que vous alliez poser trouvent leur réponse avant même que vous les posiez.

Comment faire

  1. Placez le canard là où vous pouvez le voir. Oui, vraiment.
  2. Dites-lui en une phrase ce que le code est censé faire.
  3. Parcourez le code ligne par ligne en expliquant ce que fait chacune.
  4. Quand ce que vous dites et ce que fait le code ne correspondent plus, vous avez trouvé.
  5. Remerciez le canard. Facultatif, mais recommandé.

Et ça ne marche pas que pour le code : un tableur, un e-mail délicat, un plan qui ne tient pas tout à fait la route.

Choisissez votre canard de debugging

N’importe quel canard fait l’affaire, mais on parle plus facilement à un canard qui a du caractère.

Canard en plastique Danny DeveloperDanny Developer12,95 €VoirCanard en plastique EinsteinEinstein12,95 €VoirCanard en plastique Peter ProjectPeter Project12,95 €VoirCanard en plastique SleepySleepy12,95 €Voir

Danny Developer est le chouchou de notre développeur, Einstein est là quand le problème paraît plus gros qu’il ne l’est, Peter Project pour le chef de projet qui veut lui aussi comprendre le bug, et Sleepy pour la mise en production de 2 h du matin.

Mix & match

3 canards −10 %, 5 ou plus −15 %. Mélangez comme vous voulez ; la remise s’applique automatiquement dans votre panier. Dès 35 € d’achat, un porte-clés Sharky est ajouté gratuitement à votre commande. Expédition sous 1 à 2 jours, 14 jours pour changer d’avis.

Un canard est aussi un super cadeau de bienvenue pour un nouveau développeur dans l’équipe. La collection Métiers en a aussi pour le reste du bureau.

Questions fréquentes

Le rubber duck debugging fonctionne-t-il vraiment ?

Oui. Expliquer un problème étape par étape vous oblige à vérifier chaque hypothèse, et c’est justement là que se cachent la plupart des bugs. Beaucoup de développeurs trouvent le bug avant même d’avoir fini leur explication.

Faut-il parler à voix haute ?

C’est plus efficace à voix haute, mais chuchoter ou taper son explication aide aussi.

D’où vient le nom ?

Du livre The Pragmatic Programmer (1999), dans lequel un programmeur débogue son code en l’expliquant à un canard en plastique.

Quel cadeau offrir à un développeur ?

Un canard en plastique pour son bureau, c’est un classique. C’est utile, ça lance la conversation et tous les développeurs comprennent la blague.

Adopter mon canard de debugging