Design by Contract is the idea of designing software modules that clearly define what they do through assertions. The only computer language that fully implements Design by Contract is Eiffel (as of July 1999).