契約による設計(Design by Contract) プログラムの品質向上手法として、契約による設計(Design by Contract、以下DBC)という手法があります。DBCでは、あるオブジェクトに対するメソッド呼び出しを行っているとき、プログラムが正しく動作している際に満たされるべき条件として、以下の3条件を規定しておきます。 事前条件…… メソッド呼び出し時の引数が満たすべき条件 事後条件…… メソッドによる処理が終了した時点で満たすべき条件 不変条件…… メソッドによる処理により変化しないものを規定する条件 以上の3条件のうちいずれかの条件が満たされない場合、プログラムは正しく動作していない、つまりバグがあることになります。 例として、ある実数xの平方根yを計算するメソッドを作成する場合の事前条件と事後条件について考えます。実数xが0以上の値でなければ平方根を求めることができ