2013-10-04 43 views
1

声纳如何计算软件度量,特别是LOC和圈复杂度?它是否使用任何特定的工具?如果是的话,也请提供姓名。声纳-LOC和环复杂度

回答

1

对于每种支持的语言,使用“squid”插件来分析源代码并确定一些基本指标,如LOC和复杂度。如何计算复杂性取决于插件。

例如,以下是JavaScript插件的源代码文件:https://github.com/SonarCommunity/sonar-javascript/tree/master/javascript-squid/src/main/java/org/sonar/javascript/metrics 在这种情况下,使用非常简单的公式计算插件本身的复杂性。

这里是为C#支持一组相同的类别:https://github.com/SonarCommunity/sonar-dotnet/tree/master/sonar/csharp/sonar-csharp-squid/csharp-squid/src/main/java/com/sonar/csharp/squid/metric

指标的设立,虽然,可以通过任何插件完成的,所以如果你想补充数据,你可以编写自己的插件,或以不同的方式显示数据。

而且看看在回答这个问题(关于创建一个新的插件)的法布里斯是,.NET插件的维护者之一:SonarQube - help in creating a new language plugin

+0

Java也是一样吗?如果您可以在分析Java项目时提供java插件的链接,我将不胜感激。谢谢! – Pavneet

+0

Java插件复杂度计算的代码可以在这里找到:https://github.com/SonarSource/sonar-java/blob/master/java-squid/src/main/java/org/sonar/java/ast/游客/ ComplexityVisitor.java –

+0

@Pavneet,这是否回答你的问题?如果是这样,请记得将答案标记为已接受。 –