Programming by Contract
ethan at stoneleaf.us
Thu Aug 6 01:29:17 CEST 2009
I have seen posts about the assert statement and PbC (or maybe it was
DbC), and I just took a very brief look at pycontract
(http://www.wayforward.net/pycontract/) and now I have at least one
question: Is this basically another way of thinking about unit testing,
or is the idea of PbC more along the lines of *always* checking the
input/output of functions to ensure they are correct? (*Contstant
vigilance!* as Prof Moody would say ;)
I know asserts can be turned off, so they obviously won't work for the
latter case, and having seen the sample of pycontract it seems it only
does its thing during debugging.
So is Design (Programming) by Contract a fancy way of saying "Document
your inputs/outputs!" or is there more to it?
More information about the Python-list