doc.dev1x.org

契約プログラミング

1. 目的

2. 課題

過剰な防御的プログラミング

責任の曖昧さ

ドキュメントの形骸化

3. 解決策

アサーションの追加

4. メリット

デバッグの高速化

コードの簡素化

自己文書化

5. デメリット

実行負荷の増加

記述コストの増大

言語サポートの限定

6. 注意事項

例外処理との混同を避ける

本番環境での運用

継承のルール(リスコフの置換原則)

参考資料

Appendix-1 契約プログラミング概要

契約プログラミングとは

条件とは

事前条件

事後条件

不変条件

事後条件について

使い処