我已经实现了一些代码行:
if(condition){
Class a = new Class();
method(a.b(), a.c());
}else{
method(null, null);
}
Sonar 在 protected b和 protected c上失败,因为未使用。请向我建议任何与此相关的解决方案。
提前致谢
最佳答案
规则“未使用的 protected 方法”已在 4.1
版本中弃用,并在 SonarQube Java 分析器插件 的 4.2
版本中删除,原因是其可靠性较差(大量误报)。因此,我们不再维持这条规则。
如果这些问题是错误的,就像您所说的那样,并且可能是这样,只需将它们标记为“误报”(如果您使用的是 SonarQube 的 LTS 5.6
版本),或“不会”使固定”。没有什么需要修复的,SonarQube 犯了一个错误。
请注意,将 Java 分析器插件更新到版本 4.2 将使问题消失,但这只是因为规则本身将从可用规则中消失。
关于java - Sonar 违反 if 语句中未使用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40027623/