契約プログラミング
Programming By Contract
契約プログラミングといえば
D
らしい(?)
http://www.kmonos.net/alang/d/dbc.html
https://tour.dlang.org/tour/ja/gems/contract-programming
要請する仕様をassert文などで書く
これを破った場合は例外などを起こして中断する
本番用にビルドする際にはassert文は取り除かれる
言語
Eiffel
契約プログラミングの起源
D
Spec#
Elixir
https://qiita.com/zacky1972/items/6c9cc82d9ba5f83e76d2#型とelixir
契約
Contract
契約による設計
事前条件
事後条件
Invariant(不変条件)
http://zecl.hatenablog.com/entry/20100131/p1
https://ja.wikipedia.org/wiki/契約プログラミング
https://qiita.com/Kokudori/items/2e4bd32abf7abea3186f
https://en.wikipedia.org/wiki/Design_by_contract