Bearophile <bearophileh...@lycos.com> writes: > But in some situations you want a faster final program. Running the > run-time contracts only when you test the code and removing them when > you run the program for real sounds silly or dangerous. But life is > made of trade-offs, and running those contracts during testing is > better than _never_ running them.
For some programs, having the contracts fail during running "for real" is intolerable, so if you're not ready to remove the runtime tests, then program is not ready to run for real. The Wikipedia article about DBC http://en.wikipedia.org/wiki/Design_by_contract makes it sound like what I thought, the preferred enforcement method is static, but runtime testing can be used as a fallback. I'm pretty sure Eiffel itself comes with static DBC tools. -- http://mail.python.org/mailman/listinfo/python-list