[darcs-users] Some progress on hashed-storage.

Trent W. Buck trentbuck at gmail.com
Wed Feb 4 01:05:10 UTC 2009


zooko <zooko at zooko.com> writes:

> [...] This is the policy of the Twisted Python project, and I have
> watched them for the last couple of years and it has worked out well
> for them.  When contributors submit patches which add functionality,
> those patches are not accepted until they come with thorough tests
> exercising every aspect of the new functionality.

That sounds to me like an ad-hoc definition of test-driven development:

    http://en.wikipedia.org/wiki/Test-driven_development

Basically the workflow is:

    1. Write a minimal test that fails, e.g.

         prop_square ==> 2 ** 2 == 4

    2. Write just enough code that the tests pass, e.g.

         _ ** _ = 4

    3. Go to (1) and add a slightly more complex test, e.g.

         prop_square x ==> x ** 2 == x * x

You can consider (1) to be defining, programmatically, a requirements
document for a desired change.

Apologies if I have messed up the quickcheck notation, I haven't written
quickcheck tests for a while. (**) is (obviously) supposed to implement
exponentiation.



More information about the darcs-users mailing list