Os benefícios do TDD sobre a PPC

TDD

TDD você já deve saber o que é, mas é provável que você esteja se perguntando que raios é PPC. Eu explico. PPC é um termo informal que significa Programação Por Coincidência, que em resumo é mesma coisa que Programação Orientada a Nada. Agora você pode está pensando que é uma brincadeira, mas na verdade PPC é coisa séria, horrível, nojenta, desmotivante, entre vários outros adjetivos que não devo escrever aqui. Se você quiser entender melhor, leia aqui algo que escrevi sobre o assunto.

Alguns Programadores sentem uma grande satisfação ao escrever muitas e muitas linhas de código. Sei que isso gera uma falsa sensação de produtividade. Mesmo que ao final tudo pareça funcionar, eu afirmo que é FALSA essa sensação de produtividade. Até parece que isso não tem começo, nem meio e nem fim.

Parando para pensar, algumas questões vem a mente.

O que um desenvolvedor geralmente responde quando perguntado sobre o porquê do mesmo está atuando nesta profissão. A resposta mais comum é: eu amo escrever códigos. Satisfaz ver um VI aberto, telinha preta e um método com suas 600(parece exagero) linhas de código.

Codificar realmente é algo prazeroso, especialmente quando se faz algo útil e que você tem certeza que está resolvendo um problema. Ver um código funcionando corretamente nos faz sentir uma sensação de produtividade incrível.

Até aqui não falei nada de TDD e talvez você esteja se perguntando onde o Test Driven Development entra nessa história. Com o TDD primeiro você escreve um teste, depois escreve apenas o código suficiente do método para o teste falhar,  em seguida refatora-se o método até o que teste passe. Acrescenta-se um outro teste, refatora-se o método novamente e seguimos nesse looping até que seja cumprido todos os requisitos.

Alguns ciclos depois escrevendo testes, refatorando e rodando, finalmente você olha e ver algumas linhas de código.

Neste ponto podemos pesar o que é mais importante ou eficiente: escrever muitas linhas de código sem planejar, sem parar, nem testar nada até que toda a lógica esteja escrita, ou seguir dando pequenos passos de cada vez. No ciclo do TDD, ao final você pode ver nas linhas de códigos cada um dos passos dados e ter certeza de que todos os requirementos foram cumpridos.

Temos consciência de que TDD tem conceitos difíceis de serem entendidos, porém, quando você aprende o sentido da coisa torna-se algo viciante. O custo benefício de investir nesse aprendizado vale muito a pena. Depois de perceber os benefícios do TDD dificilmente voltará atrás.

Palavras de um obcecado por testes.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Time limit is exhausted. Please reload CAPTCHA.