我正在测试SonarQube,这段代码存在于测试项目中:
public class Widgetor
{
internal static int SelectValue(int ret)
{
switch(ret)
{
case 0: return 1;
case 4: return 7;
case -1: return 2;
case 2: return -1;
default: return 0;
}
}
internal static int SelectValue_Copy(int ret)
{
switch (ret)
{
case 0: return 1;
case 4: return 7;
case -1: return 2;
case 2: return -1;
default: return 0;
}
}
}
我正在使用MSBuild Runner和MSBuil 14运行SonarQube 5.6版。
我无法找到有关如何配置代码发布检测项目的任何帮助。据我所知,这应该是开箱即用的一部分。 项目概述显示" 0%"重复的代码。
我发现this answer并没有真正告诉我任何事情。
答案 0 :(得分:3)
SonarQube Duplications documentation提供了很好的见解:
一条代码被认为是重复的,只要有至少100个连续且重复的标记(可以用属性sonar.cpd。$ {language} .minimumTokens覆盖)至少10行代码(可以是用属性sonar.cpd。$ {language} .minimumLines)覆盖。
因此,在示例中添加几个 case 会触发重复检测。