Rubber duck debugging
![]() Rubber duck debugging (or rubberducking) is a debugging technique in software engineering. A programmer explains their code, step by step, in natural language - either aloud or in writing - to reveal mistakes and misunderstandings. The name is a reference to a story in the book The Pragmatic Programmer. It tells a story of a developer who carried a rubber duck who explained their code to it line by line.[1] Variations of the practice use other objects or even pets; teddy bears are especially common.[2][3] ApproachProgrammers often discover solutions while explaining a problem to someone else, even to people with no programming knowledge. Describing the code, and comparing to what it actually does, exposes inconsistencies.[4] Explaining a subject also forces the programmer to look at it from new perspectives and can provide a deeper understanding.[5] The programmer explaining their solution to an inanimate object (such as a rubber duck) does not have to interrupt others. It also works better than thinking aloud without an audience.[6] This approach has been taught in computer science and software engineering courses.[7][8] In popular cultureOn 1 April 2018, Stack Exchange launched an April Fools' Day joke called Quack Overflow. A rubber duck avatar appeared in the bottom right corner of the screen, listened to user problems, and pretended to type solutions, only to respond with a simple "quack" sound. It referenced rubber ducking as a powerful method for solving problems.[9] See also
References
External linksWikimedia Commons has media related to Rubber duck debugging. |