測定したくないコードの特定のブロックのソナー(www.sonarsource.org)測定をオフにすることは可能ですか?
例は、Findbugsが出力する「Preserve Stack Trace」警告です。サーバーを離れるとき、その例外がクライアントに知られていない場合は、クライアントがそのJARを持たないため、キャッチしたばかりの実際の例外は含めずに、メッセージをクライアントに返すだけで済みます。たとえば、例外が含まれていました)。
測定したくないコードの特定のブロックのソナー(www.sonarsource.org)測定をオフにすることは可能ですか?
例は、Findbugsが出力する「Preserve Stack Trace」警告です。サーバーを離れるとき、その例外がクライアントに知られていない場合は、クライアントがそのJARを持たないため、キャッチしたばかりの実際の例外は含めずに、メッセージをクライアントに返すだけで済みます。たとえば、例外が含まれていました)。
回答:
これはFAQです。//NOSONAR
警告をトリガーする行に置くことができます。ただし、@ SuppressFBWarningsアノテーションを追加するというFindBugsメカニズムの使用を好みます。
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
justification = "Why you choose to ignore it")
SuppressWarningsでクラスまたはメソッドに注釈を付けることができます
@java.lang.SuppressWarnings("squid:S00112")
この場合のsquid:S00112はソナー問題IDです。このIDは、Sonar UIで確認できます。問題のドリルダウンに移動します。警告を抑制したい問題を見つけます。コードの赤い問題ボックスには、特定の問題の定義を含むルールリンクがあります。それをクリックすると、ページの上部にIDが表示されます。
@SuppressWarnings("findbugs:UI_INHERITANCE_UNSAFE_GETRESOURCE")
。
Unsupported @SuppressWarnings("squid:S00112")
です。これを無視するようにEclipseを構成できますが、その場合、inなどのタイプミス@SuppressWarnings("uncheckedd")
は検出されません。
を使用して特定の警告を抑制することをお勧めします@SuppressWarnings("squid:S2078")
。
複数の警告を抑制するには、次のようにします @SuppressWarnings({"squid:S2078", "squid:S2076"})
//NOSONAR
特定の行のすべてのエラーを無視するようにSonarQubeに指示するコメントもあります。
最後に、ユーザーインターフェイスの適切な権限がある場合は、インターフェイスから直接フラグを誤検知として発行できます。
特定の警告を抑制することをお勧めするのは、特定の問題を使用する代わりにブロックし//NOSONAR
、Sonarの問題が誤ってコードに忍び込むリスクを回避することをお勧めするためです。
注:GáborBakosは、現在404になっている古いFAQを指しています。これは私にとって最初のgoogleの結果なので、同じ質問を持つ可能性のある他の人を助けたい
編集:2016年6月30日SonarQubeはSonarLintと呼ばれるようになりました
あなたがイカの数を見つける方法を不思議に思っている場合には。ソナーメッセージ(例Remove this method to simply inherit it.
)をクリックするだけで、ソナーの問題が展開します。
左下にイカの番号が表示されます(例:squid:S1185
保守性>理解可能性)
だからあなたはそれを抑制することができます @SuppressWarnings("squid:S1185")
私はソナー5.6でイカ番号を見つけることができません、この注釈も機能します:
@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})
squid
ソナーソースのJavaデータベース(SonarAnalyzer Java)用です。pmd
そしてcheckstyle
他のルールリポジトリです。
@SuppressFBWarnings
(java.lang.SuppressWarnings
との衝突を回避するために追加)、無視するかどうかはわかりません。