这里的声纳“重复代码”在哪里?

Joh*_*onn 12 java sonarqube

我只是在示例声纳项目上运行声纳扫描仪。它给我的信息是“第 7-20 行有重复的代码”。谁能解释一下?

在此处输入图片说明

Tun*_*aki 14

SonarQube 告诉您这部分代码包含重复的逻辑。这并不一定意味着代码本身是复制粘贴的,但从概念上讲,完全相同的事情发生在多个地方。在这种情况下,返回String值的逻辑int显然是重复的。

这里有一个简单的解决方案:

String[] array = { "One", "Two", "Three", "Four", "Five", "Six" };
if (i >= 1 && i <= array.length) {
    return array[i - 1];
}
Run Code Online (Sandbox Code Playgroud)

  • 因此,复杂性优于声纳检测的任何重复? (3认同)