我已经实现了一些代码行:
if(condition){
Class a = new Class();
method(a.b(), a.c());
}else{
method(null, null);
}
Sonar在受保护的b 和受保护的c 上未使用。请建议我任何解决方案。
提前致谢
答案 0 :(得分:2)
规则“未使用的受保护方法”已在版本4.1
中弃用,并在 SonarQube Java Analyzer插件的版本4.2
中删除,原因是其可靠性较差(众多)误报)。因此,我们不再维持这一规则了。
如果这些问题是错误的,就像你说的那样,可能只是将它们标记为“误报”(如果你使用的是LTS 5.6
版本的SonarQube),或者“不会修复”。没有什么可以解决的,SonarQube犯了一个错误。
请注意,将Java Analyzer插件更新到版本4.2会使问题消失,但这只会因为规则本身将从可用规则中消失。