Contracts


Desing by ContractTM is about design and quality adn prescribes that software designers should define formal, precise and verifiable interface specifications.
Contracts are meant to state assumptions that are required for a program to work correctly and can also be used to handle invalid input.