このセクションの内容
IDE での指摘事項の抑制
[指摘事項] ビューから、個々の指摘事項、ファイル中のある指摘事項タイプに属するすべて の指摘事項、またはファイル中のすべての指摘事項を抑制することができます。
1 つの違反または複数の違反を右クリックし、[抑制] を選択します。
表示されたダイアログで、違反を抑制する理由を入力し、抑制のタイプを選択します。
以下のいずれかのオプションを選択できます。
- ローカル デスクトップ上- 抑制情報はワークスペースまたはソリューションに保存され、ローカルでの解析でだけ使用されます。このオプションを選択すると、ファイル内に出現する選択した指摘事項すべてが抑制されます (出現回数がダイアログ ボックスに表示されます)。suppression.local.dir オプションを使用して、ローカルの抑制を保存する場所をカスタマイズできます。詳細についてはオートメーション ユーザー ガイドの「設定」を参照してください。
DTP 上- 抑制情報は DTP に保存され、チーム内で共有されます。既に DTP に登録されている指摘事項だけを抑制できます。
ソース コード内- 指摘事項はコード内で抑制され、ソース管理システムにコードをチェックインした場合に抑制がチーム内で共有されます。
- [OK] をクリックして抑制を完了します。
抑制の参照
抑制された指摘事項を参照し、ローカルのデスクトップに保存された抑制を解除することができます。
[Parasoft] メニューの [設定] (Eclipse)、[オプション] (NetBeans) または [設定] (IntelliJ)をクリックし、[指摘事項とカバレッジのインポート] をクリックして [抑制されたローカル解析またはファイルからの指摘事項] オプションをオンにするか、ファイル オプションを有効にします (詳細については「インポート オプションのカスタマイズ」を参照)。
[指摘事項] ビューを開き、メニューの [内容の構成] をクリックして [抑制された指摘事項] オプションを有効にします (詳細については「指摘事項ビューのカスタマイズ 」を参照)。
- 解析を実行するか、指摘事項をインポートします (「指摘事項のインポート」を参照)。抑制された指摘事項が [指摘事項] ビューに表示されます。
- 指摘事項を右クリックして [移動] をクリックすると、指摘の原因になったコードを参照できます。
- 必要に応じて指摘事項の抑制を解除します。
- コードに保存された抑制は、コード上で手動で解除する必要があります。
- ローカルで抑制された指摘事項の抑制を解除するには、単一の指摘事項または複数の指摘事項の選択範囲を右クリックし、メニューの [ローカルで抑制解除] をクリックします。
- DTP に格納された指摘事項の抑制を解除するには、単一の指摘事項または複数の指摘事項の選択範囲を右クリックし、メニューの [DTP で抑制解除 ] をクリックします。
ソース コードで手動で指摘事項を抑制する
特定のルールまたはルール カテゴリの指摘事項のレポートを抑制するには、次の操作を行います。
- 抑制するルールのルール ID を確認します。ルール ID はテスト コンフィギュレーションに表示されています。
- エディターでソース コードを開きます。
違反の抑制を開始するコード行にコメントを (次の書式で) 入力します:
// parasoft-begin-suppress <RULE_ID>
あるカテゴリのすべての違反を抑制するには、ルール ID のカテゴリ部分だけを記述します。たとえば、OOP (オブジェクト指向プログラミング) カテゴリのすべてのルールを抑制するには、次のコメントを使用します:
// parasoft-suppress OOP
複数のルールを抑制するには、1 つ以上の空白でルール ID を区切って列挙します。たとえば、OOP.AF と OOP.OM を抑制するには、次のコメントを使用します。:// parasoft-suppress OOP.AF OOP.OPM
parasoft-suppress
コマンドの完全な説明については、下の「parasoft-suppress コマンドの詳細」セクションを参照してください。違反の抑制を終了するコード行に次のコメントを入力します。:
//parasoft-end-suppress <RULE_ID>
- 変更したコードを保存します。
例 1:
package examples.suppress; public class Example { public int _field1; public int _field2; // parasoft-suppress OOP.AF reason for suppression ... public int _field3; }
例 2:
// parasoft-begin-suppress INTER.ITT package examples.suppress; public class AllFileSuppress { public static void main(String[] args) { System.out.println ("line1"); System.out.println ("line2"); } } //parasoft-end-suppress INTER.ITT
インライン (コード内) 抑制は、抑制ビューには表示されません。ワークスペースのローカル抑制または Team Server によって共有された抑制だけが表示されます。インライン抑制は、ソース コード テキストとともに表示されます。ファイル全体を抑制する場合、parasoft-end-suppress コメントを追加する必要はありません。
parasoft-suppress コマンドの詳細
行単位の抑制
コマンド
<suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment>
例
// parasoft-suppress CODSTA "suppress all rules in category CODSTA" // parasoft-suppress CODSTA.NEA "suppress rule CODSTA.NEA" // parasoft-suppress CODSTA-1 "suppress all rules in category CODSTA with severity level 1" // parasoft-suppress ALL "suppress all rules" // parasoft-suppress CODSTA FORMAT.MCH JAVADOC-3 "suppress all rules in category CODSTA and rule FORMAT.MCH and all rules in category with severity level 3"
ブロック単位の抑制
コマンド
<begin suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment> ..... java code ..... <end suppression keyword> [<rule category> | <rule category> . <rule id> | <rule category > - <rule severity> | ALL ] <suppression comment>
例
// parasoft-begin-suppress CODSTA "begin suppress all rules in category CODSTA" ..... // parasoft-end-suppress CODSTA "end suppress all rules in category CODSTA" // parasoft-begin-suppress CODSTA.NEA "begin suppress rule CODSTA.NEA" ..... // parasoft-end-suppress CODSTA.NEA "end suppress rule CODSTA.NEA" // parasoft-begin-suppress CODSTA-1 "begin suppress all rules in category CODSTA with severity level 1" ...... // parasoft-end-suppress CODSTA-1 "end suppress all rules in category CODSTA with severity level 1" //parasoft-begin-suppress ALL "begin suppress all rules" ....... // parasoft-end-suppress ALL "end suppress all rules" // parasoft-begin-suppress CODSTA FORMAT.MCH "begin suppress all rules in category CODSTA and rule FORMAT.MCH" ..... // parasoft-end-suppress CODSTA FORMAT.MCH "end suppress all rules in category CODSTA and rule FORMAT.MCH" // parasoft-begin-suppress CODSTA "begin suppress all rules in category CODSTA" ...... // parasoft-end-suppress CODSTA-1 "end suppress all rules in category CODSTA with severity level 1; however rules with severity level 2-5 in category CODSTA are still suppressed." ...... // parasoft-end-suppress CODSTA "end suppress all rules in category CODSTA" // parasoft-begin-suppress ALL "begin suppress all rules" ...... // parasoft-end-suppress CODSTA FORMAT-1 "end suppress all rules in category CODSTA and all rules in category FORMAT with severity level 1; however, others rules in CODSTA and FORMAT-1 are still suppressed."....... // parasoft-end-suppress ALL "end suppress all rules" //parasoft-begin-suppress ALL "begin suppress all rules, since no end suppression comment, all rules will be suppressed start from this line" ........