SonarQube不检测cs代码中的重复
本文关键字:代码 检测 cs SonarQube | 更新日期: 2023-09-27 18:05:53
我正在测试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;
}
}
}
我正在运行SonarQube 5.6版本与MSBuild Runner和MSBuild 14。
我找不到关于如何配置我的项目进行代码发布检测的任何帮助。据我所知这应该是开箱即用的一部分。项目概览显示"0%"的重复代码。
我找到了这个答案,它并没有真正告诉我什么。
SonarQube Duplications文档给出了一个很好的见解:
只要有至少100个连续和重复的标记(可以用属性sonar.cpd.${language}. minimumtokens覆盖)分布在至少10行代码中(可以用属性sonar.cpd.${language}. minimumlines覆盖),就认为一段代码是重复的。
因此,在示例中添加更多的大小写确实会触发重复检测。