「Code ContractsとPex - Jamzzの日々」に引き続いてCode Contracts(契約)の使いどころについて書きたいと思います。 Code Contractsで興味深いと思う点は契約の継承、特にインターフェイスやabstractのクラス(abstractのメソッド)に対する契約を記述できる点です。 契約による設計(契約プログラミング)における議論として、どの範囲にどれぐらいの厳密さで契約を記述するべきかということがあると思います。 この議論に対してはっきりと言えることはライブラリ、モジュール、コンポーネントのインターフェイス、特にフレームワークにおける拡張点にあたる部分については相当な厳密さで契約を記述することは確実に効果が期待できるということです。 フレームワークの拡張点に契約を記述しようとした場合にインターフェイスやabstractのクラス(abstractのメソ