|
|
|
|
|
by sorokod
1251 days ago
|
|
It's a development process that will (in theory) produce a high quality implementation and suite of tests at the end. In fact the theory is that this approach will produce a high quality design as an emergent property. This is an extraordinary theory that requires an extraordinary proof - one I haven't seen so far. |
|
During "red", you're thinking about the design of your public interface.
During "green," you're focusing on implementation.
During "refactor," you're thinking about how to improve the quality of your implementation and how to improve the overall design, and making those changes.
If you believe that spending a lot of time thinking about and improving your design will produce a high-quality design, then TDD will produce a high-quality design. QED.
If you don't accept the axiom, then it's a longer discussion, but that's the proof, and my experience is that it does in fact work.
(If you're looking for a rigorous study and proof, you won't find it, because there are no rigorous studies that formally prove what creates high-quality design. Partially because there is no formal definition of "high-quality design" in the first place.)