2013-10-04 19 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,這是否回答你的問題?如果是這樣,請記得將答案標記爲已接受。 –