A rubber duck helping to debug some
Java code.
Rubber duck debugging,[1][2] Rubber Ducking,[3] or the Rubber Duckie Test[4] is an informal term used in software engineering to refer to a method of debugging code. The name is a reference to an apocryphal story in which an unnamed expert programmer would keep a rubber duck by his desk at all times, and debug his code by forcing himself to explain it, line-by-line, to the duck.
To use this process, a programmer meticulously explains code to an inanimate object, such as a rubber duck, in the expectation that upon reaching a piece of incorrect code and trying to explain it, the programmer will notice the error.[1] The method exploits cognitive dissonance; the programmer will both describe what the code is supposed to be doing and observe what it actually does, and any mismatch between these two will become apparent. [5]
[edit] Similar terms
- Cardboard Programmer or Programmer's Dummy [6][5]
- Cardboard Coder
- Cone Of Answers [7]
- Thinking Out Loud [8]
[edit] References
- ^ a b Essential Equipment - The Third Bit
- ^ What is this particular type of revelation called? - Stack Overflow
- ^ Rubber Ducking - Portland Pattern Repository
- ^ The Rubber Duckie Test - Technically Speaking
- ^ a b The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability.
- ^ Cardboard Programer - Portland Pattern Repository
- ^ Cone of Answers- Portland Pattern Repository
- ^ Thinking out Loud - Portland Pattern Repository
[edit] See also
[edit] External links