Rubber Duck Debugging: Warum Entwickler mit einer Quietscheente reden (und warum das funktioniert)
Frag einen Raum voller Entwickler, wer eine Quietscheente auf dem Schreibtisch hat, und erstaunlich viele Hände gehen hoch. Das ist nicht nur ein Witz. Es ist eine Debugging-Methode, und sie hat einen Namen: Rubber Duck Debugging.
Was ist Rubber Duck Debugging?
Wenn dein Code nicht funktioniert und du nicht siehst, warum, erklärst du ihn einer Quietscheente: laut und Zeile für Zeile. Was jede Zeile tun soll, was sie tatsächlich tut, welchen Wert du erwartest. Irgendwo auf halbem Weg hörst du dich etwas sagen, das nicht stimmt. Das ist der Bug.
Woher es kommt
Bekannt wurde der Begriff durch The Pragmatic Programmer von Andrew Hunt und David Thomas (1999). Darin wird die Geschichte eines Programmierers erzählt, der immer eine Quietscheente dabeihatte und seinen Code debuggte, indem er ihn der Ente erklärte. Die Idee selbst ist älter: Wirklich verstanden hast du etwas erst, wenn du es erklären kannst.
Warum es funktioniert
- Es bremst dich aus. Wenn du Code im Kopf liest, überfliegst du ihn. Wenn du ihn erklärst, kannst du keine Zeile überspringen.
- Du musst deine Annahmen aussprechen. Bugs stecken meistens genau da, wo du dir sicher warst.
- Die Ente unterbricht dich nicht. Ein Kollege würde sofort mit einer Vermutung dazwischengehen. Die Ente lässt dich den Gedanken zu Ende bringen.
- Es spart deinen Kollegen Zeit. Die Hälfte der Fragen, die du stellen wolltest, beantwortet sich, bevor du sie stellst.
So geht's
- Stell die Ente dorthin, wo du sie sehen kannst. Ja, wirklich.
- Erklär ihr in einem Satz, was der Code tun soll.
- Geh den Code Zeile für Zeile durch und sag, was jede Zeile macht.
- Sobald das, was du sagst, und das, was der Code tut, nicht mehr zusammenpassen, hast du ihn gefunden.
- Bedank dich bei der Ente. Optional, aber empfohlen.
Das funktioniert nicht nur bei Code: bei Tabellen, einer schwierigen E-Mail oder einem Plan, der nicht ganz aufgeht.
Such dir deine Debugging-Ente aus
Jede Ente funktioniert, aber mit einer Ente mit Charakter redet es sich leichter.
Danny Developer ist der Liebling unserer Entwickler, Einstein ist für Momente, in denen das Problem größer wirkt, als es ist, Peter Project für die Projektleitung, die den Bug auch verstehen will, und Sleepy fürs Deployment um 2 Uhr nachts.
3 Enten −10 %, ab 5 −15 %. Beliebig kombinierbar; der Rabatt wird automatisch im Warenkorb abgezogen. Ab einem Bestellwert von €35 legen wir dir einen Sharky-Schlüsselanhänger gratis dazu. Versand innerhalb von 1–2 Tagen, 14 Tage Rückgaberecht.
Eine Ente ist auch ein tolles Willkommensgeschenk für neue Entwickler im Team. In der Kollektion Berufe gibt es auch eine für den Rest des Büros.
Häufig gestellte Fragen
Funktioniert Rubber Duck Debugging wirklich?
Ja. Wenn du ein Problem Schritt für Schritt erklärst, musst du jede Annahme überprüfen, und genau dort verstecken sich die meisten Bugs. Viele Entwickler finden den Bug, bevor sie mit dem Erklären fertig sind.
Muss ich laut sprechen?
Laut funktioniert es am besten, aber auch Flüstern oder das Aufschreiben der Erklärung hilft.
Woher kommt der Name?
Aus dem Buch The Pragmatic Programmer (1999), in dem ein Programmierer seinen Code debuggt, indem er ihn einer Quietscheente erklärt.
Was ist ein gutes Geschenk für Entwickler?
Eine Quietscheente für den Schreibtisch ist ein Klassiker. Sie ist nützlich, sorgt für Gesprächsstoff, und jeder Entwickler versteht den Witz.
Danny Developer
Einstein
Peter Project
Sleepy