An External Replication on the Effects of Test-driven Development [pdf]
Could it be that TDD vs. tests-after-code is a highly personal thing? I personally find it easier to write good tests after I&#x27;ve coded something functional. Before hand, I know one or two fuzzy ideas of what I want to accomplish, but I can&#x27;t list out the concrete, real-world test scenarios until after I&#x27;ve coded something, poked and prodded it, etc.<p>But I know some people are wired differently; they&#x27;ll think a lot more about scenarios first, then code after they have everything accounted for. For them, TDD as a philosophy seems more fitting.<p>I think the chasm exists between _untested_ code and code that has tests. I&#x27;ve never understood the seemingly-religious zealotry behind TDD as an XP practice. Just like pair programming... if it works for you and your coding style, awesome. But don&#x27;t force it down my throat or act like it&#x27;s the One True Path to clean code.