Rubber Duck Debugging

What Does Rubber Duck Debugging Mean?

In IT, the slang term “rubber duck debugging” has been created to describe an often effective yet simple strategy for debugging code. In rubber duck debugging, the programmer sits a small rubber duck (or other inanimate object) near them on a desk or near a computer, and explains the code to the duck line by line.


Rubber duck debugging is also known as rubberducking.

Techopedia Explains Rubber Duck Debugging

The idea behind rubber duck debugging is simple – by
explaining the process out loud, the programmer is able to better understand
the nature of the code, the purpose of individual lines or modules, and what code
is intended to do, in contrast to what it actually does. This idea is similar
to the idea of proofreaders reading text aloud in order to catch errors, or
mathematicians explaining an equation step by step in order to understand how
the process works.

With rubber duck debugging, the idea is dressed up in a
humorous way – the duck does not actually play any active role in the
process. Again, it is the idea of verbal explanation that helps the developer to
catch bugs in the code. For instance, the programmer could be “showing the duck”
how a loop aggregates a certain string variable, and realize that one of the
parameters is set wrong. Programmers can recognize fencepost errors and other
types of errors while they are verbally going through the code and explaining it
out loud. Rubber duck debugging has become somewhat commonly used term to
describe this kind of explicatory process and why it is valuable to IT pros.


Related Terms

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…