ntract Programming），或者契约优先式开发（Contract-First development）来指代这种方法。微软也採用这种设计方法，称为程式码合约（Code Contracts）。
历史.这个术语最早由伯特兰·迈耶于1986年提出。他设计了Eiffel程式语言来实现这种程式设计方法，在《物件导向软体建构》（Object-Oriented Software Construction）一书中，又提出两个后继版本。2003年，由伯特兰·迈耶创建的Eiffel sof