bearophile wrote:
Georg Wrede:
Thank you for your interesting notes on such aviation topics.
Contract Programming can be viewed as checklists on the micro
level. When you call a function, it goes through a list of things
to check before actually doing its job.
In D such contracts are usually used during training flights only, in
the real flight such check lists aren't used anymore :-)
Excellent point! That's why we have input validation. :-)
And a good implementation validates /all/ data and other input to the
program. It's like not only closing, but locking every door and window
before you leave home.
Some people should have a checklist for it (I know I do), too. Same with
input validation. Leave one entrypoint unchecked, and that's where the
storm comes in, guaranteed.