sunday-labの日本語訳版です。英語版のXOOPS Cube関連記事を翻訳作業中...

2006年4月12日水曜日

Design by Contract

契約プログラミング Design by Contract (以下DbC) は、プログラミング言語 Eiffel で Bertrand Meyer によって提起されました。それはプログラマが関数やメソッドに利用条件を書くことができるアサートの発展版といえます。契約は以下の条件から成ります:

  • 事前条件
  • 事後条件
  • 不変条件

これらの条件を満たさないケースでは、契約違反として、例外が投げられます。開発者は、例外によってプログラムの問題点を容易に見つけることができるでしょう。プログラマはソースコード上に関数などの仕様(利用条件)を直接記述して、アサートできるので、常に落ち着いて仕事を薦めることができます。

DbC は多くのプログラム言語で試みられています。標準C++では、事前条件は assert() をうまく使うことができますが、しかし、事後条件と、不変条件の実現は難しいとされています。しかし、多くのプログラマが C++ で DbC に挑戦していますので、多くのサンプルコードをインターネットから手に入れることができるでしょう。

0 件のコメント: