[Small Bite] Um pouco tarde: O Grande Debate Sobre TDD

2014 August 23, 17:21 h - tags: tests learning

Estou eu neste instante (23/8), fazendo minhas pesquisas e reflexões, escrevendo a história que quero contar no fechamento da Rubyconf Brasil 2014, no próximo dia 29/8 (todos aqui estarão lá, certo!?), e eis que decido fazer um pequeno post.

Obviamente eu soube que o DHH fez um keynote na última Railsconf em Chicago, que se tornou bastante controverso por levantar o assunto de "TDD está morto?". Também soube que aconteceu um debate via Hangout entre o próprio David, Martin Fowler e ninguém menos que o criador do TDD, Kent Beck.

Finalmente hoje assisti tanto o keynote quanto os vídeos do debate, que eu não havia assistido até agora. Devo dizer que enquanto eu estava assistindo meus dedos estavam coçando para escrever sobre o assunto. Porém, devo dizer que desisti - pelo por enquanto - de fazer um artigo para dar minha opinião detalhada.

Em resumo, devo dizer que concordo com tudo que o DHH disse em seu keynote. Sinceramente não vi nada de "controverso". Na verdade acho que nenhum programador experiente viu qualquer problema no que ele disse, mas ficou preocupado com o que todo o resto poderia interpretar o que ele disse. E de fato foi o que aconteceu.

Também não foi nada surpreendente ver que Martin, Kent e David compartilham exatamente da mesma opinião sobre o assunto, variando apenas nos detalhes menores.

Eu evito ao máximo debates sobre tecnologia, sinceramente os que eu assisti até hoje foram grandes perdas de tempo, com muita falácia, muito superficialismo, muitos jovens inexperientes com testosterona alta fazendo de tudo para medir quem tem o maior pau.

E este foi o primeiro debate que me fez sentir muito bem em continuar assistindo (tanto que assisti as 6 partes do debate de uma vez só). Foi um belo debate, de rara qualidade e, depois de ter terminado, me fez decidir não detalhar o assunto mais do que já foi discutido. Acho que todos eles apresentaram os argumentos que mais importam de forma que eu demoraria muitas centenas de milhares de palavras para descrever novamente.

Portanto, deixo aqui os links para vocês mesmos assistirem, lerem e chegarem às suas próprias conclusões:

Desde sempre, mas principalmente depois desse episódio, muita gente me pergunta sobre o que eu acho e minha resposta desde sempre e também agora depois de assistir o debate (ninguém disse nada que já não soubéssemos), concluo dizendo:

Não importa se é Test-First ou Test-After. Apenas faça testes.

Programação é uma profissão de prática! Se você ainda está raivosamente querendo defender o ponto a favor, o ponto contra, entenda uma coisa: lhe falta prática. Pois mesmo com toda a HackerNews e Reddit discutindo, nunca senti um pingo de vontade de entrar na discussão. Não porque não me importo, pelo contrário, eu me importo com código bem escrito e bem testado. Só que ao discutir num fórum sobre os méritos de testar ou não eu só tenho 2 certezas:

  1. Não estou ficando melhor no meu código com isso.
  2. Eu já sei como me sinto com um código não testado (dica: mal)

Então vá praticar: lhe falta prática, por isso falta segurança para lidar esse tipo de assunto.

Querem que eu discuta algum aspecto em particular do assunto? Pergunte nos comentários e, talvez, eu decida escrever um post mais detalhado sobre o assunto se ver que alguma coisa ainda ficou mal explicada depois de todo o esforço do Martin, Kent e DHH.

Comments

comentários deste blog disponibilizados por Disqus