3 ms·
> 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
by 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.