私は自分のソフトウェアをより強固なものにするコードを書くのが嫌いです。これは、フレームワークが行うべきことです。では、コードを強化するコード「拡張」ユーティリティを知っている人はいますか?
このようなものを自分で作成する必要がある場合は、次のように機能します。デバッグ フラグを使用してコードをコンパイルすると、各メソッドに「固定化」コードが自動的に追加されます。
try-catch でコードをワープし、キャッチに Debug.Assert(true) を配置します (例外が元の場所でキャッチされるように)。
各メソッドのエントリをログに記録し、引数の "ToString()" 値を出力して、何が起こっているのかを追跡できるようにします。
各引数の null を確認します。
「IsValid」フレームワークを使用して、オブジェクト自体と各引数をチェックします。ここで、IsValid() は、その期待が真であることをオブジェクトが宣言する方法です (たとえば、私が TableOfContentsEntry の場合、IsValid である Book に常にあることを期待します)。 () であり、IsValid() である Page を指します。
では、なぜですか?