Rubber duck debugging

Conheci este termo através de um vídeo do @rafaellyra para o DevCast falando sobre o GruntJS e logo nos primeiros slides ele tocou num termo chamado Rubber Duck Debbuging.

É uma maneira de você debugar seu código e achar erros, mas como funciona? São 19:00 da noite e você está tentando solucionar um erro no seu código desde ás 14:00 da tarde e não encontra de forma alguma, daí chama algum colega de trabalho e pede ajuda a ele..

Ele pergunta como você está fazendo e você começa a explicar o que está querendo fazer e o que está fazendo, até que através da sua explicação você consegue achar o erro sem a ajuda do cara. \o/ \o/ \o/ \o/

Parece engraçado mas muitos irão se reconhecer, e foi aí que surgiu o Rubber Duck Debbuging.

primeiro

Pegue emprestado, roube, compre, fabrique e obtenha de qualquer forma um pato de borracha;

segundo

Ponha o pato de borracha na sua mesa e informe-o que está trabalhando e que irá mostrar alguns códigos para ele;

terceiro

Explique para o pato o que você quer fazer com seu código e entre em detalhes, explique a ele o código linha por linha;

e então...

Em algum momento você vai dizer ao pato o que está fazendo e vai perceber que de fato você não está fazendo e aí que estará o erro. O pato irá continuar sentado e feliz em saber que está ajudando você;

Caso não tenha um pato, um colega de trabalho pode ser capaz de substitui-lo, porém alguns muitas vezes preferem contar os erros a um pato do que a um colega de trabalho.

E você já conhecia ou já praticou esta “técnica”? Conte nos comentários :D