2013-10-04 6 views
1

소나가 LOC 및 순환 복잡성과 같은 소프트웨어 메트릭스를 어떻게 계산합니까? 특정 도구를 사용합니까? 그렇다면 이름도 알려주십시오.Sonar -LOC & Cyclomatic complexity

답변

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

당신이 데이터를 보충하기를 원한다면 당신이 당신의 자신의 플러그인을 작성할 수 있도록 통계의 작성은,하지만, 어떤 플러그인하여 수행 할 수 있습니다 , 또는 다른 방식으로 데이터를 표시 할 수 있습니다.

또한 파브리스, 닷넷 플러그인 관리자들 중 하나 (새로운 플러그인을 만드는 방법에 대해)이 질문에 대한 답을 살펴 : SonarQube - help in creating a new language plugin

+0

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,이 대답을 귀하의 질문에 했습니까? 그렇다면 답변을 수락 된 것으로 표시해야합니다. –