design by contract
Метод разработки программного обеспечения, при котором элементы системы проектируются таким образом, что их взаимодействие основано на точно определенных соглашениях (contract)
Источник:
Полный англо-русский словарь
на Gufo.me