Rubber duck debugging

From Wikipedia, the free encyclopedia
Jump to: navigation, search
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]

Contents

[edit] Similar terms

  • Cardboard Programmer or Programmer's Dummy [6][5]
  • Cardboard Coder
  • Cone Of Answers [7]
  • Thinking Out Loud [8]

[edit] References

  1. ^ a b Essential Equipment - The Third Bit
  2. ^ What is this particular type of revelation called? - Stack Overflow
  3. ^ Rubber Ducking - Portland Pattern Repository
  4. ^ The Rubber Duckie Test - Technically Speaking
  5. ^ a b The Contribution of the Cardboard Cutout Dog to Software Reliability and Maintainability.
  6. ^ Cardboard Programer - Portland Pattern Repository
  7. ^ Cone of Answers- Portland Pattern Repository
  8. ^ Thinking out Loud - Portland Pattern Repository

[edit] See also

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages