miso_soup3 Blog

主に ASP.NET 関連について書いています。

Code Contracts を触ってみた

Code Contracts を少しだけ触ってみました。
一見、すぐ使うべきだ!と思いましたが、ちょっとひっかかることがありました。

** 例外が発生しない
if (s == null) throw new ArgumentNullException();

Contract.Requires(s != null);
が全く一緒というわけではない。

バイナリリライターというものが必要?

ウソです。正:Code Contracts throw 例外

ビルドが遅い

静的チェックをONにしていると、ビルドが遅いような…

資料まとめ

(ブログ名などは敬称略)

Code Contracts
http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
・ここからダウンロード

MSDN 日本語
http://msdn.microsoft.com/ja-jp/library/dd264808.aspx

Bug Catharsis
http://d.hatena.ne.jp/zecl/20100131/p1

Bug Catharsis Code Contracts入門資料
http://d.hatena.ne.jp/zecl/20110213/p2
・英語だらけのプロパティの各項目を説明されています。

Jamzzの日々
http://d.hatena.ne.jp/jamzz/20100207/1265555327

おだのスペース
http://d.hatena.ne.jp/odashinsuke/20100223/1266927641
・インターフェイスの使い方について

kazuk は null に触れてしまった
http://kazuktnd.wordpress.com/2011/02/02/visual-studio-2010-後の世代のプログラミング1-code-contracts/

neue.cc 基礎からのCode Contracts
http://neue.cc/2011/05/24_324.html

neue.cc Tester-DoerパターンとCode Contracts
http://neue.cc/2011/04/26_318.html

http://visualstudiogallery.msdn.microsoft.com/85f0aa38-a8a8-4811-8b86-e7f0b8d8c71b/
・IntelliSense表示