The Unreasonable Effectiveness of TDD
blog.bignerdranch.com
blog.bignerdranch.com
I'm curious to hear back from anyone who has bought into TDD full-bore and recognized all the benefits, but has instead decided to go back to test-last development (write the features, and then write tests purely for code coverage). If so, why?
FWIW I was writing what were effectively unit tests, and doing them essentially first or all but first, in the late eighties before (I think) TDD even had letters, but it didn't rule my life. I was chastised for being too new and not good enough to carve the whole monolith at one sitting. I did what I needed to anyway.
As a rule, if I would rather my colleague not to write code at all, I likely prefer them not to do TDD either.
Bad code is never fun to maintain. With bad TDD code, you just get twice as much per feature.
Until someone invents a cost-effective way to do science on programming techniques. I'm not holding my breath, because we're talking about workplace habits, communication through code, and team dynamics, which is an altogether different beast than mathematics or physics.
If you're more into Java, or then I also do a lot of test-driving of a Swing GUI in my original Let's Play TDD series (http://www.jamesshore.com/Blog/Lets-Play). It's a lot less polished than Let's Code TDJS, but it's free.