3 ms·
With static languages, I find that testability is generally the best way to flush out poor design. In fact, I've argued before that TDD is a design-process, not
by latch 15y ago
With static languages, I find that testability is generally the best way to flush out poor design. In fact, I've argued before that TDD is a design-process, not a testing process. You can write code, then try to test it, if it's hard to test, your design is probably wrong.
Do it a couple times on medium size projects, and you don't need to write tests anymore (for that reason), since what works and what doesn't always seems to stick really well.
This isn't really true for dynamic languages, since they tend to be much easier to test (stub anything) and don't have all of boilerpoint crap that's necessary in the general purpose static languages folk uses(java/c#)
Not sure if that helps :)