我有这个声纳错误Major:
发现' UR' -anomaly for variable' language' (行' 83' - ' 85')
在这个函数中:
public void saveAll(List<Language> languages){
//Found 'UR'-anomaly for variable 'country' (lines '83'-'85').
//Code Smell Major Open Not assigned 20min effort Comment
for (Language language: languages) {
save(language);
}
}
如何解决这个重大错误,谢谢你提前
答案 0 :(得分:2)
修改强>: 在其他SO帖子中找到更多信息。虽然这更加以PMD为中心,但您可能会对背景信息感兴趣。 Java for each loop being flagged as UR anomaly by PMD
这似乎是PMD的规则。定义:
数据流分析跟踪本地定义,定义和定义 引用数据流上不同路径上的变量。从 那些信息可以找到各种问题。 UR - 异常:有一个未定义的变量的引用 之前。这是一个错误,导致错误。杜 - 异常:A 最近定义的变量是未定义的。这些异常可能会出现在 正常的源文本。 3. DD - 异常:最近定义的变量是 重新定义。这是不祥的,但不一定是个错误。
有一个开放的错误报告: https://sourceforge.net/p/pmd/bugs/1190/
在他们为Arrays报告它的例子中,但有人评论说它们也适用于集合。
示例:
public static void main(final String[] args) {
for (final String string : args) {
string.getBytes(); //UR Anomaly
}
for (int i = 0; i < args.length; i++) {
args[i].getBytes();
}
}
在我们的声纳设置中,我们不使用此规则。根据您提供的信息,您可能不希望在您的信息中使用它。