コード契約をデバッグするときはどうしたらよいですか?私は方法の前提条件を確認したいと思うし、もう一方を選択するのは混乱している。私は、障害シナリオをテストし、例外を予想したいところで単体テストを行います。Debug.Assertとコード契約の使用
同じメソッドでDebug.AssertとCodeコントラクトを使用することをお勧めします。もしそうなら、コードを書かなければならない順序は何でしょうか?
Debug.Assert(parameter!= null);
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
または
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
Debug.Assert(parameter!= null);
その背後にある任意の論理的根拠はありますか?
私は全く同意しますが、debug.assertとcode contractを同じ場所で使用することを選択した場合、それは特定の順序であるべきですか? – CarbineCoder
そのようにダブルチェックを行う理由がわかりません。注文はやり方ではありません。もし私がそれをやっていたら、Debug.Assertを最初に開発用のデバッグ支援ツールとすると思います。 – Dweeberly
Debug.Assertはリリースコードには含まれませんが、コード契約が適用されます。だから私は、コード契約と並行してdebug.assertが必要になるケースがあると思います。間違っているかもしれません。したがって、疑問。 – CarbineCoder