差分

ナビゲーションに移動 検索に移動

事前条件

1,982 バイト追加, 2012年7月24日 (火) 05:28
ページの作成:「'''事前条件'''(じぜんじょうけん)とは、「契約による設計」における条件のひとつで、サブルーチンの呼び出し時に...」
'''事前条件'''(じぜんじょうけん)とは、「[[契約による設計]]」における条件のひとつで、[[サブルーチン]]の呼び出し時に、これを「呼ぶ側」が保証すべき性質(条件)のことである。

== 概要 ==
[[静的型付け言語]]では[[サブルーチン]]の[[引数]]に[[データ型]]を指定することで、呼び出し側において想定外の[[データ型]]が指定されれば[[コンパイルエラー]]となる。

これに加え、[[契約による設計]]における事前条件は、その[[引数]]の[[データ]]の中身まで厳密に規定しておくというものである。たとえば[[境界値チェック]]や[[nullチェック]]などがこれにあたる。なお[[オブジェクト指向プログラミング言語]]であれば[[引数]]のみならず[[フィールド変数]]などもチェック対象となる。

これらの[[データ]]のチェックをおこなう処理を、[[契約による設計]]に対応した[[プログラミング言語]]([[Eiffel]]や[[D言語]]など)の構文や、専用[[フレームワーク]]([[.NET]]の[[コードコントラクト]]など)を使用して[[ソースコード]]を記述しておくことで、[[サブルーチン]]の「呼び出し側」において範囲外となるパターンが存在しないかを[[静的解析ツール]]などと呼ばれる専用ツールをもちいて事前にチェックすることができる。

たとえば[[静的解析]]と[[コンパイラ]]が一体化した[[プログラミング言語]]であれば、本来はいつ発生するかわからない[[実行時エラー]]となりえる部分が、[[プログラム]]を動かす前に[[コンパイルエラー]]となるため、[[プログラム]]の品質を著しく高めることができる。

== 関連項目 ==
* [[契約による設計]]

== 参考文献 ==
<references/>

== 外部リンク ==

{{stub}}
匿名利用者

案内メニュー