TDD é muito bom, mais será que podemos usar ele em 100% do tempo, ele é útil em tudo mesmo?
TDD é muito bom, mais será que podemos usar ele em 100% do tempo, ele é útil em tudo mesmo?
Opa, tudo bem Roberto?
Então você tem total razão, TDD é muito bom mesmo, mas nós sabemos que na programação não podemos seguir apenas uma regra e temos que sempre nos questionar o quando e o motivo de estar utilizando determinada regra/conceito.
O TDD faz com que o desenvolvedor teste melhor sua aplicação, bem como pense em um design de classes melhor e mais flexível para aquele problema. Mas não é sempre que precisamos disso, sabemos que tudo que é utilizado em excesso não é tao legal. Se estamos, por exemplo, escrevendo a implementação de um DAO (classe que se comunica com o banco de dados), talvez escrever os testes antes não vá ajudar tanto, afinal não há grandes decisões de design a serem tomadas em classes como essa, e a funcionalidade tende a ser simples. Escrever o teste depois, portanto, não será tão diferente de escrever o teste antes, pois ai vamos testar nossas queries caso fique complexa, cheio de where e condições.
O desenvolvedor maduro leva em consideração a sua experiência, e entende bem as vantagens da prática. E, na hora certa, fazer uso dela.
Espero que tenha esclarecido sua duvida!