Gergely Buday wrote:
The 'freezing the API' complaint is particularly annoying.
Why do you think so? It takes some time to fix an API, as more and
more program blocks use it it might turn out that the initial design
is flawed. Or do you think this is a minor problem with TDD?
I think it's a pretty clear example of premature commitment, which can be
magnified by the investment you can put in to doing it 'properly'. In turn,
this can increase the effort to change or scrap the API when you really
ought to, never mind the natural reluctance to take an axe to something that
has already involved so much effort.
There are times when it really makes more sense to play around with a problem,
rather than building the infrastructure around an as-yet unproven design.
Good API designs are driven by the needs of the software that uses them,
rather than what's easiest to implement, or easiest to build a test suite for.
Frank Wales [fr...@limov.com]