英語版
このページの英語版を見る

契約プログラミング

"契約"は、実行時の流れが"契約"に到達したときに真でなければならない条件を指定することができる。 を指定することができる。 もし "契約"が真でなければ、プログラムは未定義の状態に入ったとみなされる。 に入ったとみなされる。

根拠:

言語に契約サポートを組み込むことで、以下のことが可能になる:

  1. 契約書の一貫したルック&フィール
  2. ツールのサポート
  3. 実装は、コントラクトから収集した情報を使用して、より良いコードを生成することができる より良いコードを生成できる。
  4. 契約の管理と執行が容易になる。
  5. 契約の継承を処理できる。
Contracts make D bug resistant

アサート契約

AssertExpression を参照のこと。

事前契約と事後契約

見てみよう:

インバリアント

Struct InvariantsおよびClass Invariants を参照のこと。

参考文献