What is a rubber duck and what is it for?

Asked

Viewed 4,241 times

19

There is an expression used from time to time in the middle of programming that concerns working on code with a rubber duckling. How the duck helps develop software in a better way?

  • 6

    As I don’t have a rubber duck, I talk to the [chat staff] =)

  • For those who will answer https://en.wikipedia.org/wiki/Rubber_duck_debugging (in addition to the term "Rubber Duck" search also the term "Teddy Bear"), I do not understand much for this I will not answer, but there is help/references :)

  • 1

    Many programmers have had the experience of explaining a programming problem to someone else, possibly even to someone who knew nothing about programming, and then finding the solution in the process of explaining the problem.

2 answers

22


inserir a descrição da imagem aqui Duckling, my duckling, is there code more crooked than mine? Source: Talk to the Duck - debugging and Resilience

Despite the strange name, programming the rubber duck is a software engineering technique that attempts to eliminate the cognitive dissonance between the mental elaboration of a software model and the solution to a problem.

The premise is that, when explaining to an external agent (in this case the rubber duck) its problem, the necessary organization will offer the engineer views usually not available only via mental model, assisting the purification process.

12

It’s a code debugging method, where explaining how the code works to a third party any incongruity between what the code should do and what it actually does would be more apparent.

The term refers to the history of a book The Pragmatic Programmer where the programmer explains line by line to a duck.

Source

Another more empirical approach may be the socratic method.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.