契約プログラミング
2006/04/12
契約プログラミング Design by Contract (
以下DbC)
は、プログラミング言語 Eiffel
で Bertrand Meyer
によって提起されました。それはプログラマが関数やメソッドに利用条件を書くことができるアサートの発展版といえます。契約は以下の条件から成ります:
これらの条件を満たさないケースでは、契約違反として、例外が投げられます。開発者は、例外によってプログラムの問題点を容易に見つけることができるでしょう。プログラマはソースコード上に関数などの仕様(利用条件)を直接記述して、アサートできるので、常に落ち着いて仕事を薦めることができます。
DbC は多くのプログラム言語で試みられています。標準C++では、事前条件は
assert()
をうまく使うことができますが、しかし、事後条件と、不変条件の実現は難しいとされています。しかし、多くのプログラマが
C++
で DbC に挑戦していますので、多くのサンプルコードをインターネットから手に入れることができるでしょう。