チュートリアル: カスタム規則セットの構成と使用
このチュートリアルでは、クラス ライブラリのカスタマイズされた規則セットを使用するように構成された、コード分析ツールの使用方法について説明します。ソリューション用に指定したプロジェクトの種類に関連する規則セットを選択することも、互換性に影響しない方法で解決できる問題を探すためのレガシ コードのスキャンなど、特定のニーズを満たす目的で別の規則セットを選択することもできます。どちらの場合も、プロジェクトの要件に合わせて規則セットをカスタマイズすることができます。
このチュートリアルでは、次の手順を順に実行します。
クラス ライブラリを作成します。
[Microsoft 基本デザイン ガイドライン規則] コード分析規則セットを選択します。
独自のコードをクラスに追加します。
コード分析を実行します。
規則セットをカスタマイズします。
コード分析を実行し、規則セットのカスタマイズ動作がどのように機能するか確認します。
必須コンポーネント
- Visual Studio Ultimate、Visual Studio Premium、または Visual Studio Professional
コード分析での規則セットの使用
最初に、単純なクラス ライブラリを作成します。
クラス ライブラリの作成
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[新しいプロジェクト] ダイアログ ボックスの [プロジェクトの種類] で、[Visual C#] をクリックします。
[Visual C#] の [クラス ライブラリ] を選択します。
[名前] ボックスに「RuleSetSample」と入力し、[OK] をクリックします。
次に、[Microsoft 基本デザイン ガイドライン規則] 規則セットを選択し、プロジェクトと共に保存します。
コード分析規則セットの選択
[分析] メニューの [RuleSetSample のコード分析を構成する] をクリックします。
コード分析の構成設定が表示されます。
[この規則セットを実行] ボックスの一覧の [Microsoft のすべての規則] をクリックします。
使用可能な規則セットの詳細については、「コード分析規則セットの参照」を参照してください。
選択した規則セットとその設定に関する情報でプロジェクト ファイルを更新するには、[ファイル] メニューの [選択されたファイルを上書き保存] をクリックします。
ヒント 実際の環境で、コード分析の対象となる問題に優先順位を付けるために推奨される方法は、まず "最小推奨規則" の規則セットで開始し、目的となる問題を修正してから、規則や規則セットを徐々に追加して、その他の問題を特定し、修正する方法です。
次に、いくつかのコードをクラス ライブラリに追加します。これらのコードは、コード分析規則 CA1704、"識別子は正しく入力されなければなりません" の違反を示すために使用されます。詳細については、「CA1704: 識別子は正しく入力されなければなりません」を参照してください。
独自のコードの追加
ソリューション エクスプローラーで、Class1.cs ファイルを開き、既存のコードを次のコードで置換します。
using System; using System.Collections.Generic; using System.Text; namespace RuleSetSample { public class Class1 { //The variable parameter names "a" and "b" will cause //the warning CA 1704 Microsoft.Naming "Consider //providing a more meaningful name" to fire public int AddIntegers(int a, int b) { int sum = a + b; return (sum); } } }
これで、RuleSetSample プロジェクトに対してコード分析を実行し、生成されたエラーや警告がないかどうかを [エラー一覧] ウィンドウで確認できるようになりました。
RuleSetSample プロジェクトに対するコード分析の実行
[分析] メニューの [RuleSetSample でコード分析を実行] をクリックします。
[エラー一覧] ウィンドウの [警告] をクリックし、列ヘッダー [説明] をクリックして、警告を英数字順に並べ替えます。
実際の環境では、この時点で修正する必要がある規則違反を修正するか、修正する必要がないと判断した場合は規則を無効化または抑制することができます。詳細については、「SuppressMessage 属性を使用した警告の抑制」を参照してください。
CA1704 の警告を確認します。この規則に対するこれらの違反は、"パラメーターにもっとわかりやすい名前を指定する" ことを検討する必要があることを示しています。この問題をコード内で修正するか、次の手順で説明するように、この規則を無効にすることができます。
次の、CA1704 の警告 "識別子は正しく入力されなければなりません" を除外するように規則セットをカスタマイズします。
プロジェクト用の規則セットのカスタマイズによる特定の規則の無効化
[分析] メニューの [RuleSetSample のコード分析を構成する] をクリックします。
[この規則セットを実行] ボックスの一覧で、[Microsoft のすべての規則] 規則セットがまだ強調表示されていることを確認し、[開く] をクリックします。規則セットのページが表示されます。
Microsoft.Naming カテゴリ ノードを展開し、CA1704 の警告を選択します。
[アクション] 列で [なし] を選択します。これにより、[エラー一覧] ウィンドウに CA1704 が警告やエラーとして表示されなくなります。
ここで、ツール バーの各種ボタンやフィルター オプションを試してみることをお勧めします。たとえば、[グループ化] ボックスの一覧を使用して、特定の規則や規則のカテゴリを探すことができます。また、規則セット ページのツール バーにある [無効な規則を非表示にする] ボタンを使用して、[アクション] 列が [なし] に設定されているすべての規則を表示または非表示にすることもできます。無効にした規則をスキャンして、それらの規則を無効のままにするかどうかを確認するには、この操作が便利です。
[表示] メニューの [プロパティ ウィンドウ] をクリックします。[プロパティ] ツール ウィンドウの [名前] ボックスに、「My Custom Rule Set」と入力します。この結果、Visual Studio IDE で新しい規則セットの表示名が変わります。
[ファイル] メニューで [Microsoft All Rules.ruleset を保存] をクリックして、カスタマイズした規則セットを保存します。プロジェクトのルート フォルダーに移動します。[ファイル名] ボックスに「MyCustomRuleSet」と入力します。これで、カスタム規則セットを選択して、プロジェクトで使用できるようになりました。
新しい規則セットが作成されたので、その新しい規則セットを使用するように、プロジェクト設定を構成する必要があります。
プロジェクトで使用する新しい規則セットの指定
ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] を選択します。
[プロパティ] タブで [コード分析] をクリックします。
[この規則セットを実行] ドロップダウン リストで、[<参照します。>] をクリックします。コード プロジェクトのルート フォルダーに移動し、MyCustomRuleSet.ruleset を選択します。これが、前の手順で作成した新しい規則セットです。
[ファイル] メニューの [保存] をクリックして、プロジェクト構成を保存します。これで、カスタム規則セットをプロジェクトで使用できるようになりました。
最後に、作成した MyCustomRuleSet 規則セットを使用して、コード分析を再度実行します。[エラー一覧] ウィンドウには、CA1804 のパフォーマンス規則違反が表示されません。
RuleSetSample プロジェクトに対するコード分析の 2 回目の実行
[分析] メニューの [RuleSetSample でコード分析を実行] をクリックします。
[エラー一覧] ウィンドウで [警告] をクリックしても、"識別子は正しく入力されなければなりません" という CA1704 警告違反が表示されなくなります。
参照
処理手順
方法: マネージ コード プロジェクトのコード分析を構成する