測定したくない特定のコードブロックのソナー( www.sonarsource.org )測定をオフにすることは可能ですか?
例として、Findbugsが出力する「スタックトレースの保持」警告があります。サーバーを離れるときに、例外がクライアントに不明な場合は、キャッチした実際の例外を含めずに、メッセージのみをクライアントに返したい場合があります(クライアントにはその例外が含まれているJARがないため)たとえば、例外が含まれていました)。
測定したくない特定のコードブロックのソナー( www.sonarsource.org )測定をオフにすることは可能ですか?
例として、Findbugsが出力する「スタックトレースの保持」警告があります。サーバーを離れるときに、例外がクライアントに不明な場合は、キャッチした実際の例外を含めずに、メッセージのみをクライアントに返したい場合があります(クライアントにはその例外が含まれているJARがないため)たとえば、例外が含まれていました)。
を使用して特定の警告を抑制することをお勧めします@SuppressWarnings("squid:S2078")
。
複数の警告を抑制するには、このようにすることができます@SuppressWarnings({"squid:S2078", "squid:S2076"})
//NOSONAR
特定の行のすべてのエラーを無視するように SonarQube に指示するコメントもあります。
最後に、ユーザー インターフェイスに対する適切な権限を持っている場合は、インターフェイスから直接誤検知としてフラグを発行できます。
特定の警告を抑制することをお勧めする理由は//NOSONAR
、Sonar の問題が誤ってコードに忍び寄る危険を冒すよりも、特定の問題をブロックする方が良い方法だからです。
詳細については、FAQを参照してください。
編集: 6/30/16 SonarQube は SonarLint と呼ばれるようになりました
イカの番号を見つける方法を疑問に思っている場合に備えて。ソナー メッセージ (例: Remove this method to simply inherit it.
) をクリックするだけで、ソナーの問題が展開されます。
左下にイカ番号が表示されます (例:squid:S1185
保守性 > 理解可能性) 。
それで、あなたはそれを抑えることができます@SuppressWarnings("squid:S1185")
これはよくある質問です。//NOSONAR
警告をトリガーする行の最後に置くことができます。
//NOSONAR
ほとんどの言語では、SonarQube はジェネリック メカニズムの使用をサポートしています
//NOSONAR
。これにより、現在および将来に発生する可能性のあるすべての問題が抑制されます。
ただし、 @SuppressFBWarnings アノテーションを追加することで構成される FindBugs メカニズムを使用することを好みます。
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(
value = "NAME_OF_THE_FINDBUGS_RULE_TO_IGNORE",
justification = "Why you choose to ignore it")
実際には問題の ID を理解するのは難しいので、基本的にすべてのルールに適用される @SuppressWarnings("all") アノテーションを使用しましたが、より正確には ID を使用することをお勧めします。クリックして画像を表示 -> ソナーの問題 ID
「なぜこれが問題なのですか?」をクリックすると、赤いボックスに、説明付きの画面が表示されます。画面上部の左側にルール名が表示され、左側にこのルールの ID が表示されます。したがって、このルールを適用するには、この注釈をクラスまたはメソッドに追加するだけです。
@SuppressWarnings("common-java:DuplicatedBlocks")