事前条件
事前条件(じぜんじょうけん)とは、「契約による設計」における条件のひとつで、サブルーチンの呼び出し時に、これを「呼び出す側」が保証すべき性質(条件)のことである。
概要[編集 | ソースを編集]
静的型付け言語ではサブルーチンの引数にデータ型を指定することで、呼び出し側において想定外のデータ型が指定されればコンパイルエラーとなる。
これに加え、契約による設計における事前条件は、その引数のデータの中身まで厳密に規定しておくというものである。たとえば境界値チェックやnullチェックなどがこれにあたる。なおオブジェクト指向プログラミング言語であれば引数のみならずフィールド変数などもチェック対象となる。
これらのデータのチェックをおこなう処理を、契約による設計に対応したプログラミング言語(EiffelやD言語など)の構文や、専用フレームワーク(.NETのコードコントラクトなど)を使用してソースコードを記述しておくことで、サブルーチンの「呼び出し側」において範囲外となるパターンが存在しないかを静的解析ツールなどと呼ばれる専用ツールをもちいて事前にチェックすることができる。
たとえば静的解析とコンパイラが一体化したプログラミング言語であれば、本来はいつ発生するかわからない実行時エラーとなりえる部分が、プログラムを動かす前にコンパイルエラーとなるため、プログラムの品質を著しく高めることができる。
関連項目[編集 | ソースを編集]
参考文献[編集 | ソースを編集]