web-dev-qa-db-ja.com

JavaでいくつかのSonarQubeルールを無視するにはどうすればよいですか?

最近、SonarQubeを使い始めました。 SonarQubeによって提案されたルールがいくつか見つかりましたが、それらを無視するか、優先度を低くして、SonarQubeによって提案された時間を構成することもできます。たとえば

ルールを回避したい(および/またはSonarQubeによって提案された優先度と時間を設定したい)

  1. このパブリッククラスを文書化します。そして
  2. このTODOコメントに関連付けられているタスクを完了します。

このルールを無視するように構成する方法が見つかりませんでした。この種のルールは、特定のクラスではなく、プロジェクト全体で無視する必要があります。

この値を構成すると、主要な問題を修正し、上記の2つのようなルールの優先度を低くするために、より適切な時間の見積もりを行うことができます。 SonarQube6を使用しています

私はあなたのアドバイスを認めます。

7
WowBow

コメントに記載されているように、あなたがしなければならないのは、プロファイルからルールを削除するか、ルールを編集して優先度を下げることだけです。これを行うには、品質プロファイルのグローバル管理権限が必要です。その権限でログインしたら、[ルール]インターフェイスに移動し、非アクティブ化するルールを検索し、ルールを選択してクリックし、関連するプロファイルから非アクティブ化します。

Ypuが無視したいルールのIDがある場合は、そのためにSuppressWarningsを追加できます。

例:

@SuppressWarnings("squid:S0016")

私はこれがあまり好きではなく、コメントを追加するために使用します// NOSONAR特定の行のすべてのエラーを無視するようにSonarQubeに指示します。

例2:

私がこれを行う場合:

System.setErr(System.out);
ConsoleHandler h = new ConsoleHandler(); 
System.setErr(err);

私のソナーは、system.outの代わりにロガーを使用するように要求します...

したがって、次のような警告を黙らせることができます。

System.setErr(System.out);  //NOSONAR 
ConsoleHandler h = new ConsoleHandler(); 
System.setErr(err);