

Build One to Throw Away - astrec
http://www.tbray.org/ongoing/When/200x/2008/08/22/Build-One-to-Throw-Away

======
s3graham
You lost me when the first interesting link starts "<http://localhost/>"

------
wwalker3
I'd say "Build One To Improve" instead of "Build One To Throw Away".

Software is infinitely malleable, so there's no need to start from scratch.
You can morph your code from its present state to any desired state smoothly,
keeping it working (and passing all its unit tests) the whole time.

"Throwing one away" usually also throws away lots of hard-won corner case
fixes and QA testing.

------
biohacker42
Write unit tests first, they are not just for bugs. They help a lot with scope
and design. Then you might not have to build something just to throw it away.

~~~
rcoder
To my mind, the main value of writing good units test isn't that it makes your
implementation better at the beginning of a project. Rather, they make it
possible to quickly iterate through alternative implementations and verify
their correctness, or reject them if incorrect.

Regardless, Tim _does_ have a robust test suite for mod_atom -- the Atom
Protocol Exerciser (APE), which he wrote long before starting work on his own
implementation. It serves as a reference test client for any AtomPub service,
which is rather more valuable IMHO than simple unit testing.

