大規模なプロジェクトでコード分析をオンにすると、膨大な量の CA1062 の減少が見られますが、これは IMO としてはまったく正しいことです。
私はこれらをそれぞれを通過することなく自動的に処理したいと思います.とにかく、すべてのメソッドパラメータにアサーションを使用するか、次のようなものを使用して、コード全体でこれを自動化します:
if (input == null)
{
throw new ArgumentNullException("input");
}
大規模なプロジェクトでコード分析をオンにすると、膨大な量の CA1062 の減少が見られますが、これは IMO としてはまったく正しいことです。
私はこれらをそれぞれを通過することなく自動的に処理したいと思います.とにかく、すべてのメソッドパラメータにアサーションを使用するか、次のようなものを使用して、コード全体でこれを自動化します:
if (input == null)
{
throw new ArgumentNullException("input");
}
はい、ヌルチェックの追加を自動化する方法はたくさんあります。ブライアン・ロスがすでに述べたAOPアプローチに加えて、コード分析レポートファイルで見つかった違反に基づいてソースコードを変更するツールを作成できます。これはよりきめ細かくなります(つまり、実際には属していない可能性のある場所にnull検証を課さないでください)が、それを行うためのツールの構築に少しの努力を費やす必要があります。
とは言うものの、多くのnullチェックが欠落していることは、通常、コードベースにさまざまなパラメーター検証が欠落していることを示すかなり良い兆候です。これらすべてに対処したい場合は、手動での作業が必要になります。ヌルチェックを自動化すると、焦点を当てるべき領域が隠れてしまう可能性があります。
個人的には、より一般的な検証を容易にするためにVSスニペットを使用して、より手動のクリーンアップを選択する傾向があります(たとえば、nullでない、空でない、範囲内、許可リスト内の列挙型)。http://msmvps.com/blogs/calinoiu/archive/2007/04/22/fxcop-and-the-big-bad-backlog.aspxで説明されている「TODO」抑制アプローチは、有効にする場合に役立つ可能性があります。クリーンアップ作業が終了する(または開始する)前のCA1062ルール。