特定のコードブロックのソナー( www.sonarsource.org )測定をオフにすることは可能ですか?
例として、Findbugsが出力する「スタックトレースの保存」警告があります。サーバーを離れるときに、クライアントがその例外を知らない場合は、クライアントにメッセージを渡すだけでよいのです。たとえば、例外が含まれていました)。
これは 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この場合、Sonarの問題IDです。このIDはSonar UIで確認できます。問題のドリルダウンに進みます。警告を抑制したい問題を見つけます。コードの赤い問題ボックスには、特定の問題の定義を含むルールリンクがあります。クリックすると、ページの上部にIDが表示されます。
@SuppressWarnings("squid:S2078")
を使用して特定の警告を抑制することをお勧めします。
複数の警告を抑制するには、次のようにできます@SuppressWarnings({"squid:S2078", "squid:S2076"})
特定の行のすべてのエラーを無視するようSonarQubeに指示する//NOSONAR
コメントもあります。
最後に、ユーザーインターフェイスに対する適切な権限がある場合は、インターフェイスから直接誤検知としてフラグを発行できます。
特定の警告を抑制することをお勧めする理由は、//NOSONAR
を使用する代わりに特定の問題をブロックし、誤ってコードに忍び寄るSonarの問題を引き起こすことをお勧めするためです。
詳細については、 FAQ をご覧ください。
注:GáborBakosは、現在404である古いFAQを指しています。これは私にとって最初のグーグルの結果ですので、同じ質問があるかもしれない他の人を助けたいです
編集:6/30/16 SonarQubeはSonarLintと呼ばれるようになりました
イカ番号を見つける方法を知りたい場合。 Sonarメッセージ(例:Remove this method to simply inherit it.
)をクリックすると、Sonarの問題が展開されます。
左下には、イカ番号があります(例:squid:S1185
Maintainability> Understandability)
それで、あなたは@SuppressWarnings("squid:S1185")
によってそれを抑制することができます
コードで対処できない場合は、警告が表示される行で// NOSONARを使用します。できます!
ソナー5.6でイカ番号を見つけることができません。この注釈も機能します。
@SuppressWarnings({"pmd:AvoidCatchingGenericException", "checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.IllegalCatchCheck"})