我们怎么能忽略Java中的一些SonarQube规则呢?例:示例 2:

我们最近开始使用SonarQube。我们发现了SonarQube建议的一些规则,但我们希望忽略它们或给它们一个低优先级,甚至配置SonarQube建议的时间。例如

我们希望避免规则(和/或配置SonarQube建议的优先级和时间)

  1. 记录此公共类,以及
  2. 完成与此 TODO 注释关联的任务。

我找不到一种方法来配置要忽略的此规则。我们希望在整个项目中忽略这种规则,而不是特定的类。

配置此值将有助于我们更好地估计时间来解决主要问题,并为上述两个规则提供较低的优先级。我们正在使用SonarQube 6

我采纳你的建议。


答案 1

如果你有 ypu 想要忽略的规则的 id,那么你可以为此添加 SuppressWarnings

例:

@SuppressWarnings("squid:S0016")

我不太喜欢这个,并用来添加注释//NOSONAR,告诉SonarQube忽略特定行的所有错误。

示例 2:

如果我这样做:

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

我的声纳抱怨要求我使用记录器而不是系统.out...

因此,我可以使警告静音:

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

答案 2

如评论中所述,您所要做的就是从个人资料中删除规则或对其进行编辑以降低其优先级。您需要“全局管理质量配置文件”权限才能执行此操作。使用该权限登录后,转到“规则”界面,搜索要停用的规则,选择该规则,单击该规则,然后从相关配置文件中将其停用。


推荐