rubber duck debugging

folclore

programação

Depurar explicando seu código, linha por linha, para um objeto inanimado.

Popularizada por "The Pragmatic Programmer", a técnica funciona porque articular o problema em voz alta força você a tornar explícitas as suas suposições, e a errada costuma aparecer no meio da frase. O pato é opcional; explicar é o essencial.

A depuração com pato de borracha é explicar seu problema, linha a linha, a um objeto inanimado, e a razão de funcionar não é mística. Articular um sistema obriga você a converter um modelo interno vago em afirmações explícitas e sequenciais, e as lacunas que você vinha pulando ficam audíveis no instante em que você precisa dizê-las em voz alta.

O nome vem de The Pragmatic Programmer, em que um programador carregava um pato e falava com ele. O objeto é irrelevante, e esse é o ponto: um colega também serve, ao custo do tempo dele, e é por isso que engenheiros experientes pedem desculpa no meio da frase e vão embora tendo respondido a si mesmos. O ouvinte não contribui com nada e ainda assim é essencial.

A versão que vale internalizar é que isso é um argumento a favor de escrever. Um relatório de defeito escrito com cuidado muitas vezes se resolve antes de ser enviado, e um documento de projeto força a mesma explicitude que o pato força, com mais extensão e com registro. Se você se vê resolvendo problemas no instante em que começa a descrevê-los, a lição não é que patos são mágicos. É que seu modelo nunca foi tão completo quanto parecia.

Também conhecido como: rubber ducking, rubberduck, rubber-duck

Fontes

  • "The Pragmatic Programmer", Hunt & Thomas, 1999

Todos os verbetes do glossário