Clean Architecture: Chapter 4. Structured Programming
- ダイクストラ (Edsger Wybe Dijkstra) が構造化プログラミングを提唱した
- ダイクストラは、プログラムの正しさを数学的に証明したいと考えた
- 数学のように、問題を分割統治していくアプローチを適用したい
goto
文のある種の使い方は、プログラムを階層的にモジュール化できなくすることを発見- 証明可能性を保つ「良い」
goto
文の使い方は、if/then/else
やdo/while
にあたる。
- BöhmとJacopiniの証明:全てのプログラムはsequence, selection, iterationの組み合わせで作れる
- これらは全て「証明可能」な構造!
- 実際には、プログラムの正しさの証明群を整備する数学的アプローチは達成されなかった
- 構造化/分割されたプログラムをテストする、自然科学的なアプローチに至った 1
- テストは証明ではないので、プログラムの正しさは保証しないが、間違いを見つけるもの
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
- 作者: Robert C. Martin
- 出版社/メーカー: Prentice Hall
- 発売日: 2017/09/20
- メディア: ペーパーバック
- この商品を含むブログを見る
-
プログラムが物理法則などに、テストが実験に対応する。プログラムは、テストで反例が見つからない限りにおいて正しいとみなされる↩