Sonar违反if语句中未使用的方法

时间:2016-10-13 17:41:58

标签: java sonarqube

我已经实现了一些代码行:

if(condition){
  Class a = new Class();
  method(a.b(), a.c());
}else{
  method(null, null);
}

Sonar在受保护的b 受保护的c 上未使用。请建议我任何解决方案。

提前致谢

1 个答案:

答案 0 :(得分:2)

规则“未使用的受保护方法”已在版本4.1中弃用,并在 SonarQube Java Analyzer插件的版本4.2中删除,原因是其可靠性较差(众多)误报)。因此,我们不再维持这一规则了。

如果这些问题是错误的,就像你说的那样,可能只是将它们标记为“误报”(如果你使用的是LTS 5.6版本的SonarQube),或者“不会修复”。没有什么可以解决的,SonarQube犯了一个错误。

请注意,将Java Analyzer插件更新到版本4.2会使问题消失,但这只会因为规则本身将从可用规则中消失。