3 ms·
Yes, you will need tests, but do you need 1. TDD? 2. Unit tests? I agree with Jim Coplien when he argues that most unit testing is waste. And TDD is even worse
by haspok 4y ago
Yes, you will need tests, but do you need 1. TDD? 2. Unit tests?
I agree with Jim Coplien when he argues that most unit testing is waste. And TDD is even worse, because it is equivalent to designing a complex system purely from the bottom up, in miniature steps.
- Jtsummers 4y ago> And TDD is even worse, because it is equivalent to designing a complex system purely from the bottom up, in miniature steps. [emphasis added] What fool uses TDD to design? The second "D" is "Development". If people want to act foolishly, let them. Then come in later and make money cleaning up their mess.
- MattPalmer1086 4y agoBetter design is one of the supposed benefits of TDD. The article nicely demolishes that view, and I agree fully with what it says. There is a small scale design benefit to writing tests, and that is simply that you always have a "user" of your code, even if it's only focused on tiny bits of it. But having said that, I get essentially the same design benefit from writing tests afterwards, or writing a test client, or writing user documentation. I usually discover code needs some design improvement once I have to explain or use it.
- Jtsummers 4y agoIt leads to better design (is the theory), but it is not itself a design process. It's a development process. TDD doesn't replace the need to stop, think, and consider your design.