契約プログラミング
出典: フリー百科事典『ウィキペディア(Wikipedia)』
契約プログラミング(Programming By Contract, Design By Contract)とは、プログラムコードの中にコードが満たすべき仕様についての記述を盛り込む事で設計の安全性を高める技法。プログラミング言語Eiffelで初めて導入された。
[編集] 概要
開発工程で、あるコードを使用した際にエラーが生じたとする。この時エラーには二つの可能性がある:
- コードの実装に誤りがあった
- コードを使う側に誤りがあった。
契約では、コードの利用条件を主処理とは別に定めることでエラーの位置を明確にする。契約違反が発生すると例外などの形で実行は中断される。
これは仕様をドキュメントとして付属する代わりに、実行可能な形態でコードの一部にできるという事である。最終的な配布物はコンパイラオプションで契約用コードを取り除く。従って実行効率にも影響しない。