Os benefícios de Rubber Ducking para programadores
Os benefícios de Rubber Ducking para programadores
Junho 28, 2023
Em 1999, Andrew Hunt criou a técnica do Rubber Ducking: uma técnica simples, mas inovadora, de resolução de bugs.
Como poderia um convencional pato de borracha amarelo, que o acompanhava no seu dia-a-dia, ser a resposta para os seus problemas enquanto programador? Para Andrew Hunt, este era mais que um objecto. Era o objecto para o qual ele explicava o código que tinha escrito quando estava bloqueado. Ao enunciar todo o código, acabava sempre por chegar às respostas que procurava.
O rubber ducking passa exactamente por isso: explicar todo o código, linha a linha, de forma a abrandar o pensamento e questionar o processo. Desta forma, é possível encontrar o bloqueio e/ ou solucionar um problema.
Neste artigo iremos rever esta técnica, abordar os benefícios do rubber ducking para os programadores e enunciar todos os passos que esta técnica requer.
Tabela de Conteúdos
O que é Rubber Ducking?
Utilizada maioritariamente por developers, o Rubber Ducking é uma técnica simples de resolução de bugs no código.
Esta técnica passa por rever o código e explicar a sua finalidade a um objecto, planta, animal ou mesmo a um colega. O ponto fulcral desta técnica é falar em voz alta, como que a fazer algo ou alguém entender o código que se escreveu.
À medida que se explica o código, o(a) developer ganha uma nova perspectiva acerca da sua própria linha de pensamento e das decisões que tomou para chegar ao objectivo delineado. Além disso, ao ouvir-se a si próprio, consegue entender onde é que o processo se tornou mais confuso ou onde é que esse falhou.
A técnica de Rubber Ducking surgiu em 1999 no livro The Pragmatic Programmer escrito por Andrew Hunt, e seria suposto utilizar-se um convencional pato de borracha amarelo como interlocutor da mensagem. Contudo, o pato de borracha amarelo é meramente figurativo. Dependendo da situação, pode fazer mais ou menos sentido explicar o código a um ser humano que questione a lógica por detrás do código e apresente sugestões.
Resolução de bugs com Rubber Ducking
A técnica de Rubber Ducking é simples de ser utilizada e, na grande maioria das vezes, tem bons resultados na resolução de bugs.
A maior dificuldade na resolução de problemas no código pode não passar pela resolução da erro em si, mas sim em encontrá-lo. E, para encontrar um bug, é necessário rever código, muitas vezes, sem acesso a nenhuma plataforma que o faça.
Ao enunciar os objectivos por detrás de uma linha de código e ao explicar todo o processo em voz alta, é usual ficar-se com uma melhor percepção de cada uma das linhas de código. Isto porque, para melhor articular um discurso explicativo, é necessário que se abrande o pensamento. Ao fazê-lo, ganha-se uma visão mais pormenorizada de cada linha de código, fazendo com que o bug salte à vista ou que se encontre uma solução mais rapidamente.
Para além disso, ao aplicar-se a técnica de Rubber Ducking, é impossível ler o código “na diagonal”. Assim, cada linha é analisada e exposta com o máximo detalhe.
Benefícios de Rubber Ducking para programadores
Além de ser mais fácil encontrar um bug e resolvê-lo, a técnica de rubber ducking traz outros benefícios para quem é developer:
- Permite perceber o que falta no código e como melhorá-lo.
- É-se constantemente relembrado da finalidade do código. Por isso, esse será escrito estando sempre alinhado com os objectivos.
- É possível resolver um problema sem interromper o trabalho de um(a) colega, e sem estar limitado pela disponibilidade dessa pessoa.
- Permite que se resolva problemas sem pedir ajuda a terceiros (a não ser que se escolha fazê-lo), reafirmando as competências de quem escreveu o código.
- Se o pato de borracha for um ser humano, essa pessoa pode fazer perguntas-chave e/ ou apresentar uma nova perspectiva sobre todo o processo.
- Facilita a escrita de documentação de código, tanto para developers, stakeholders ou qualquer outra pessoa que precise de a consultar.
Como fazer Rubber Ducking?
Como apontado em secções anteriores deste artigo, a técnica de Rubber Ducking é fácil de ser aplicada. Basta levar o “pato de borracha” a navegar pela narrativa do código que se escreveu.
Apesar de ser (quase) evidente a forma como se aplica esta técnica, deixamos alguns truques que ajudam a construir a narrativa e a explicá-la a algo – ou alguém.
- Encontrar um pato de borracha. Pode ser um verdadeiro pato de borracha amarelo ou qualquer outro objecto. Se for proveitoso ter outra opinião, o pato de borracha também pode ser uma pessoa (mesmo que não seja colega de trabalho).
- Enunciar os objectivos gerais. Explicar o plano geral para chegar a esses objectivos, dividindo-os em objectivos intermédios.
- Expor os passos dados para chegar ao objectivo intermédio, explicando cada linha de código escrita.
- Referir todos os erros que se cometeu durante o processo e todas as correcções feitas no código.
- Questionar as decisões feitas ao longo do código.
Com estes 5 passos e um pato de borracha amarelo, muitos(as) developers conseguem encontrar os bugs no código e achar a melhor resolução para os mesmos.