Noun
design by contract (uncountable)
(programming) A software design approach that prescribes formal, precise and verifiable interface specifications (contracts) with preconditions, postconditions, and invariants.
Design by contract can also facilitate code reuse, since the contract for each piece of code is fully documented. Source: Internet