----- Original Message ---- From: Shlomi Fish <[EMAIL PROTECTED]> > I find that writing too much testing code at once without having a working > code, and then trying to get it to pass incrementally (using TODO or SKIP or > similar functionality), is sub-optimal. <snip> > I prefer the incremental write-test -> get-the-test-to-pass -> repeat cycle.
++ Planning out a "dream" API is a wonderful and powerful thing and when done correctly, it can be useful. Thus, writing POD first *might* be a good idea. However, I do agree with Shlomi on this. I have grown to appreciate the ability to evolve my code over time and to refactor things at will. More than once I've delayed refining an interface because I'd have too much documentation to change. By doing things in small steps, but perhaps with a "dream" interface in mind, I find it much easier to write good code. And if you write up all of your tests first, how is this really different from BDUF (Big Design Up Front) and all of the pain that entails? Whenever I'm ordered to follow the BDUF path and then I have to throw away half of the spec because I guessed wrong or I created something difficult to work with, I have bell tower/deer rifle fantasies. Cheers, Ovid