Has anyone here actually done strict TDD?
Yes. Routinely. For many years. With many programming languages, including Haskell.
I would expect strict TDD-based development (with no substantial design up front) to gradually build up a system from fuzzy ideas.
Why? Read Richard O’Keefe’s post from yesterday. Testing at the DSL level that he’s talking about is precisely where the tests in TDD exist. If it’s not a DSL it’ll be an API. In TDD, you do not test anywhere else. This includes regression test suites. There are constraints on an application’s architecture implied by TDD — you need an interface of some kind. If you feel testing at a more detailed level would be helpful when you write some part of the system, go ahead but delete those tests when you’re done.
A recent talk about what TDD is, and isn’t, is at:
This would grow increasingly unwieldy until the designer got fed up trying to keep it all together and redesigned it from scratch. And for a large system there could be several such redesign-completely episodes.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe