Code Contracts を触ってみた
Code Contracts を少しだけ触ってみました。
一見、すぐ使うべきだ!と思いましたが、ちょっとひっかかることがありました。
** 例外が発生しない
if (s == null) throw new ArgumentNullException();
と
Contract.Requires
が全く一緒というわけではない。
バイナリリライターというものが必要?
ウソです。正: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表示