1

Sonar 如何计算软件指标,尤其是 LOC 和圈复杂度?它是否使用任何特定工具?如果是,请同时提供姓名。

4

2 回答 2

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/公制

但是,可以通过任何插件来创建指标,因此如果您想补充数据或以不同的方式显示数据,您可以编写自己的插件。

还请查看 .Net 插件维护者之一 Fabrice 对这个问题的回答(关于创建新插件):SonarQube - 帮助创建新语言插件

于 2013-10-04T12:42:09.580 回答
0

You can browse http://docs.codehaus.org/display/SONAR/Metric+definitions for more details.

于 2013-10-04T13:53:36.480 回答