fbpx

29 set
Debug com pato de borracha – A técnica que salva programadores

A técnica tenta eliminar a dissonância cognitiva entre a elaboração mental de um modelo de software e a solução para um problema

Você se sente travado em alguma tarefa, sem conseguir evoluir? Fica olhando para a tela sem conseguir avançar? De vez em quando precisa de uma opinião de alguém para desenrolar, mas ao mesmo tempo não quer ninguém interferindo na sua linha de pensamento?

Estudante de engenharia de software do iCEV trabalhando no laptop com pato de borracha amarelo próximo ao teclado

Luis Belizário utiliza a técnica debug com patos de borracha no seu trabalho diário. (Foto: Denise Nascimento)

A galera da Engenharia de Software desenvolveu a solução para esse problema: O debug com patos de borracha, originalmente “Rubber Duck Debugging”.

“Às vezes você está com dificuldades no código, está dando erro aí você pega um dos patos e começa a explicar pro pato o que você está querendo fazer, como se estivesse revisando o código. Daí você explicando para o pato é como se você estivesse explicando para você mesmo. Você vai debugando o código, linha por linha”, explicou o programador e estudante de Engenharia de Software do iCEV, Luis Belizário, que utiliza assiduamente a técnica.

Como funciona o debug com patos de borracha?

O que acontece muitas vezes é que o programador esquece ou faz algo errado durante o processo e aparece o famoso bug. Nesse momento em que nada vai pra frente entra o desespero e a pergunta: “o que tem de errado com meu código?”. Aí que entra o debug.

A técnica tenta eliminar a dissonância cognitiva entre a elaboração mental de um modelo de software e a solução para um problema, utilizando a criatividade para resolver bugs nos códigos de programação.

Funciona assim: você vai falar passo-a-passo em voz alta para o seu pato: o que fez e o que está acontecendo. Ao explicar seu problema para um agente externo, neste caso o pato de borracha, você “pensa alto”, conversando consigo mesmo para encontrar uma solução.

pato de borracha olhando para tela de computador

Debug com pato de borracha é uma técnica que pode ser utilizada em qualquer área. (Imagem: Reprodução)

Veja alguns passos importantes:

1 – Explique seu código e seus objetivos. Não se preocupe com detalhes, apenas defina o contexto para o seu pato.

2 – Linha por linha, explique qual é o fluxo de toda a função ou método que não está funcionando. Não pule detalhes, os patos estão ali para escutar você.

3 – Se seu amigo pato ainda não viu o bug, não deixe de explicar todos os estados intermediários e transições em detalhes.

4 – Pronto, agora a solução parece muito óbvia, a razão pela qual a “depuração de pato de borracha” é tão amada.

Durante esse processo, há uma grande chance de encontrar o seu problema. Muitas vezes é apenas um pequeno erro de digitação ou de compreensão. Se a solução não aparecer, você pode pedir ajuda a algum colega ou especialista daquele tipo de tarefa.

Estudante de engenharia de software do iCEV segurando patos de borracha e explicando a técnica de debug com patos de borracha

Código deve ser explicado linha por linha em voz alta para o seu pato. (Foto: Denise Nascimento)

Mas pato de borracha, de onde surgiu isso?

Na verdade, a técnica serve com qualquer objeto inanimado que você possa conversar, mas um patinho de borracha é mais representativo.

O nome é uma referência a uma história do livro “O Programador Pragmático”, no qual um dos autores trabalhou com um assistente de pesquisa que, por vários meses, mantinha seu pato de borracha na mesa enquanto programava.

A dica é: você pode usar um pato de borracha, ou qualquer outro objeto mais discreto que possa conversar com ele de um modo lúdico, mas o mantenha em seu ambiente produtivo de trabalho ou de estudos, para ele estar ali quando você precisar.

 

Por que essa técnica é tão eficiente?

Existe toda uma psicologia de como isso funciona, mas basicamente quando você fala em voz alta o seu cérebro consegue processar melhor os detalhes e, com isso, sua atenção a detalhes ou erros fica mais aguçada, consequentemente você acha os problemas mais rapidamente.

Quando você está assumindo que seu pato de borracha não sabe nada sobre o assunto, você tem que explicar mais detalhadamente o que você estava pensando nessas linhas específicas de código através de sua cabeça. Você é forçado, enquanto ajuda outra “pessoa” a entender o seu problema, a prestar muita atenção a tudo o que você estava apenas tomando como garantido.

Estudante de engenharia de software do iCEV segurando patos de borracha e explicando a técnica de debug com patos de borracha

O nome da técnica é uma referência a uma história do livro “O Programador Pragmático. (Foto: Denise Nascimento)

A maioria de nós pensa muito mais rápido do que falamos. Então, especialmente se você está explicando verbalmente o que está acontecendo com esse outro objeto, é provável que você seja um pouco mais cuidadoso e preciso em virtude de ter que dizer isso em voz alta. Assim, você desacelera o pensamento e é mais exigente do que quando você está digitando código.

O mais interessante é que essa técnica, muito utilizada pelos engenheiros de software, pode ser replicada em todas as áreas! Faça o teste e adote um patinho de borracha pra chamar de seu.

Fontes: https://dionatanmoura.com/o-mantra-da-produtividade/gestao-de-tarefas/rubber-duck-debugging/
https://www.thoughtfulcode.com/rubber-duck-debugging-psychology/

Deixe um comentário

2 Comentários em "Debug com pato de borracha – A técnica que salva programadores"

avatar
Sort by:   newest | oldest | most voted
Artur Oliveira

Grande artigo, pelo visto eu sou literalmente um pato

Jolimar

Acho que isso explica o famoso.
Só foi o T.I chegar que o problema sumiu.
Quando o usuário descreve para o suporte o aue está tentando fazer e o suporte pergunta como normalmente ele faz o procedimento e pede pra refazer o processo, o suporte está sendo usado como um pato de borracha

Compartilhe com um amigo

Tags

Está com dúvidas?
Estamos aqui pra ajudar! Envia um e-mail ou chama no whatsapp: (86) 3133-7070
Entrar em contato!
© 2017 iCEV Instituto de Ensino Superior
Esse domínio pertence ao Grupo Educacional Superior CEV
CNPJ: 12.175.436/0001-09