我已将一些代码行实现为:

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


声纳在未保护的b和受保护的c上失败。请建议我任何与此有关的解决方案。

提前致谢

最佳答案

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

如果这些问题是错误的,如您所说并且可能是这样,只需将它们标记为“ False Positive”(如果使用的是SonarQube的LTS 5.6版本)或“ Wo n't Fix”。无法修复,SonarQube犯了一个错误。

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

09-12 11:40