契約による設計(DbC:Design by Contract)あるルーチンにおけるすべての事前条件が呼び出し側によって満足された場合、そのルーチンは作業完了時にすべての事後条件とすべての不変表明を保証する。どういうこと?正しいプログラムとは、要求されたこと以上のことも、それ以下のことも行わないプログラムのこと。契約による設計は、プログラムの正しさを保証するため、ソフトウェア・モジュールの権利と責任を文書化(そして承諾)するための技法。どうすれば?クラス(呼び出し先)とそのクライアント(呼び出し元)が以下の契約をおこなう。事前条件(precondition) ルーチンの呼出し前に保証されるべき前提条件。 正しいデータを引き渡すのはクライアント側の責任。事後条件(postcondition) ルーチンの呼出し後に保証されるべき条件。 保証するのはクラス側の責任。クラス不変表明(class in