タグ

DbCに関するrabbit2goのブックマーク (3)

  • とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis

    「より堅牢で正確性の高いソフトウェアを作りたいぜ!」と願う.NETデベロッパーお待ちかねの、 契約による設計(DbC)をサポートするCode Contractsが.NET Framework4より利用できるようになります。 C#をベースとして契約による設計をサポートする「Spec#」を利用するという方法もありますが、 学習負担を軽減するためにと、マイクロソフトは言語を意識しなくても開発者が利用できるように、 Code Contractsとして.NET Frameworkで契約をサポートしてくれました。 これは、オブジェクト指向および、オブジェクト指向プログラミングが大好きな.NET開発者にとって、とても良い知らせです。 わたしも待ち望んでいたうちのひとりです。ありがとうマイクロソフト!!という気持ちでいっぱいです。 VisualStudio2010が4月12日(米国)にローンチされることが

    とある契約の備忘目録。契約による設計(Design by Contract)で信頼性の高いソフトウェアを構築しよう。 - Bug Catharsis
  • Design by contractでソフトウェア機能を記述する:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ

    Design by contractはソフトウェアの機能や関数/メソッドの事前条件、事後条件、いかなる場合でも不変である状態(条件)、を明らかにし、文書化する手法だ。機能や関数/メソッドが想定している範囲を明らかにし、想定外の使われ方を防ぐことにより不具合防止を支援する。 条件をソースコードに含めておき、条件を満たさない場合に、実行をやめたりするものを契約プログラミング(Programming by contract)と呼ぶ。assertのような言語仕様を使ったり、例外処理を使ったりして、機能や関数/メソッドが想定外の使われ方をしていることを明らかにする。 外部仕様に相当するドキュメントにはこれらの条件が比較的記述されていることが多いように思う。詳細設計、内部仕様やソースコードに記す場合には、対象の数が多くなることもあり、網羅的に記述するのはしんどいところだろう。形式的でないドキュメントに

    Design by contractでソフトウェア機能を記述する:森崎修司の「どうやってはかるの?」:オルタナティブ・ブログ
  • 契約による設計

    契約による設計 今回は、C++ では実現しにくい面があるけれども、 考え方としては非常に役立つと思われる開発手法を紹介する。 「契約による設計」 (Design by Contract、以下、DBC と略記) とは、 もともと Eiffel*1 というオブジェクト指向プログラミング言語の設計者である Bertrand Meyer氏が提唱し、同言語に実装した概念であるらしい。 同氏が設立した ISE という会社の Web サイトを見ると、なぜか、"Design by Contract" に、 TM が付いていたりする。まあ、それはともかく。 DBC では、ある操作を実行するのに必要な条件や、 操作を実行する前後で変わってはならない条件などを記述し、 プログラムの実行時にその条件をチェックすることができる。 こうすることによって、パラメータや戻値などの値の妥当性の保証について、 呼び出し側と操

  • 1