문제

프로젝트의 코드 지표(예: 코드 라인 수, 순환적 복잡성, 결합, 응집력)를 계산하고 시간 경과에 따른 추세를 보여주는 그래프를 생성하는 도구가 있습니까?

도움이 되었습니까?

해결책

내 최신 프로젝트에서 내가 사용한 소스모니터.코드 메트릭 분석을 위한 훌륭한 무료 도구입니다.
다음은 SourceMonitor 공식 사이트에서 발췌한 내용입니다.

  • 소스 파일을 통해 빠른 단일 패스로 메트릭을 수집합니다.
  • C ++, C, C#, vb.net, Java, Delphi, Visual Basic (VB6) 또는 HTML로 작성된 소스 코드에 대한 측정.
  • C ++, C, C#, vb.net, Java 및 Delphi의 메소드 및 기능 수준 메트릭이 포함되어 있습니다.
  • 소프트웨어 개발 프로젝트 중 비교를 위해 체크 포인트의 메트릭을 저장합니다.
  • 테이블 및 차트의 메트릭을 표시하고 인쇄합니다.
  • 표준 Windows GUI 내에서 또는 XML 명령 파일을 사용하여 스크립트 내에서 작동합니다.
  • 메트릭을 XML 또는 CSV (Comma-Separated-Value) 파일로 내보내기 위해 다른 도구로 추가 처리합니다.

옆에 .NET의 경우 N종속 제가 추천할 수 있는 최고의 도구입니다. .

다음 도구는 추세 분석을 수행할 수 있습니다.

다른 팁

소나 특히 Java 프로젝트의 경우 반드시 고려해야 할 도구입니다.그러나 PHP 또는 C/C++, Flex 및 Cobol 코드도 처리합니다.

다음은 프로젝트의 일부 측정항목을 보여주는 스크린샷입니다.

대체 텍스트 http://sonar.codehaus.org/wp-content/uploads/2009/05/squid-metrics.png

다음 데모 사이트를 사용하여 도구를 사용해 볼 수 있습니다. http://nemo.sonarsource.org

N종속 .net용

또한 내 IDE용 코드 메트릭 도구/플러그인을 찾고 있었지만 내가 아는 한 특정 기간 동안의 복잡성 그래프를 표시하는 것은 없습니다(Eclipse의 경우).그러나 나는 그것을 찾았다. Eclipse 메트릭 플러그인, 다음을 처리할 수 있습니다.

  • McCabe의 순환적 복잡성
  • 원심성 커플링
  • 방법의 응집력 부족
  • 메소드의 코드 라인
  • 필드 수
  • 레벨 수
  • 범위 내 로컬 수
  • 매개변수 수
  • 진술 수
  • 클래스당 가중치 메서드

그리고 사용하면서 여러분이 찾고 계시는 그래프 옵션도 놓치지 않았습니다.
시간이 지남에 따라 그래프 작성을 처리할 수 있는 플러그인/도구를 찾지 못한 경우 가장 적합하고 필요한 모든 정보를 제공하는 도구를 살펴봐야 한다고 생각합니다.주어진 정보가 프로젝트의 현재 빌드에만 적용되는 경우에도 마찬가지입니다.

참고로, Eclipse 메트릭 플러그인 당신이 할 수 있습니다 데이터를 외부 파일로 내보내기 (링크는 예제로 이동) 따라서 소스 제어 도구를 사용하고 그래야 한다면 항상 특정 빌드에 대한 데이터를 내보내고 소스 코드와 함께 파일을 저장할 수 있습니다. ) 시간을 거슬러 올라가서 차이점을 확인하는 방법입니다.

명심하세요, 당신이 측정한 것은 당신이 얻는 것입니다.loc는 생산성이나 효율성에 대해 아무 말도하지 않습니다.

코드 줄로 프로그래머를 평가하면 얻을 수 있습니다.코드 줄.다른 측정항목에도 동일한 주장이 적용됩니다.

오토.. http://www.crap4j.org/ 매우 보수적이고 유용한 측정항목입니다.적용 범위와 관련하여 복잡성을 설정합니다.

NDepend, 나는 이 목적을 위해 그것을 최선을 다해 사용하고 있습니다.이것을 확인하십시오 :http://www.codeproject.com/KB/dotnet/NDepend.aspx

도구에 관해서 N종속 코드 줄 수부터 메서드 순위(인기), 순환 복잡성, 메서드 응집력 부족, 적용 범위 백분율(NCover 또는 VSTS에서 추출), 상속 깊이까지 82가지의 다양한 코드 메트릭이 제공됩니다.

NDepend는 규칙 시스템을 통해 문제와 추정치를 찾을 수도 있습니다. 기술 부채 이는 흥미로운 코드 지표입니다(문제를 해결하기 위한 개발 노력의 양). 문제를 해결하지 못하도록 연간 개발 시간을 낭비함).

이러한 모든 측정항목이 자세히 설명되어 있습니다. 여기.

.NET 공간에 있다면 Developer Express' 코드러시 LOC, Cyclomatic Complexity 및 (다소 우수한 IMHO)를 제공합니다. 유지 관리의 복잡성 실시간으로 코드를 분석합니다.

(유지 관리 복잡성 링크에 대해 죄송합니다.Google의 캐시로 이동합니다.원본은 오프라인 ATM인 것 같습니다.)

Atlassian FishEye는 작업을 위한 또 다른 훌륭한 도구입니다.소스 제어 시스템(현재 CVS, SVN 및 Perforce 지원)과 통합되어 모든 파일을 그런 방식으로 분석합니다.분석은 다소 기본적이며 제품 자체는 상업적입니다(그러나 매우 합리적인 가격, IMO).

피어 코드 검토를 용이하게 하는 Crucible이라는 추가 기능을 얻을 수도 있습니다.

Visual Studio .NET(적어도 C# 및 VB.NET)의 경우 무료입니다. Studio도구 측정항목에 매우 유용합니다.또한 다음과 같은 상용 도구에서 볼 수 있는 여러 기능을 추가합니다. ReSharper.

코드 분석기 이러한 종류의 측정항목을 생성하는 간단한 도구입니다.

alt text
(원천: teel.ws)

파이썬의 경우, 필린트 일부 코드 품질 측정항목을 제공할 수 있습니다.

또한 코드 메트릭 플러그인 ~을 위한 반사기, .NET을 사용하는 경우.

나는 추천하고 싶다 코드 메트릭 뷰어 확장 비주얼 스튜디오용.

솔루션을 한 번에 분석하는 것은 매우 쉽습니다. 진행이 완료되면 비교도 수행할 수 있습니다 ;-)

더 읽어보세요 여기 대한 특징

PHP 전선에서는 예를 들어 phpUnderControl 다음을 통해 측정항목을 포함합니다. phpUnit (내가 착각하지 않는다면).

측정항목에는 결함이 있는 경우가 많다는 점을 명심하세요.예를 들어, 사소한 문제를 해결하는 코더는 복잡한 문제를 해결하는 코더보다 더 많은 코드를 생성하여 그래프에서 더 보기 좋게 보입니다.

일부 추세 분석을 수행하는 경우 SLOC 이상으로 측정할 수 있는 것이 실제로 있습니까?

후행 세미콜론에 대한 grep을 수행하고 반환된 줄 수를 계산하는 경우에도 SLOC 측정 기술의 일관성을 유지해야 합니다.이런 방식으로 오늘의 측정값을 지난달의 측정값과 의미있게 비교할 수 있습니다.

McCabe Cyclometric Complexity의 추세가 무엇을 제공하는지 실제로 알 수 없습니까?개발자에게 피드백을 제공하기 위한 품질 스냅샷에는 CC가 더 많이 사용되어야 한다고 생각합니다.

편집하다:아.유용할 수 있는 몇 가지 다른 측정 방법을 생각해 보십시오.SLOC 및 테스트 적용 범위의 백분율로 표시되는 설명입니다.둘 중 어느 것도 놓치고 싶지 않습니다.이 중 하나를 다시 장착하기 위해 돌아오는 것은 "순간의 열기 속에서" 수행하는 것만큼 신이 될 수 없습니다!

HTH.

건배,

Scitools의 이해 많은 코드 측정항목을 생성할 수 있는 기능이 있습니다.코드 메트릭 기능에 대한 경험이 많지는 않지만 일반적으로 정적 분석 기능은 훌륭했고 가격도 매우 합리적이었습니다.지원은 훌륭했습니다.

프로젝트 코드 미터 SLOC의 코딩 진행 지표, 시간 및 생산성 백분율을 보여주는 차등 개발 내역 보고서(Excel 형식)를 제공합니다(시간 추정은 순환적 복잡성 및 기타 지표를 기반으로 함).그러면 Excel에서 원하는 그래프를 쉽게 생성할 수 있습니다.

단계별로 설명하는 이 문서를 참조하세요.http://www.projectcodemeter.com/cost_estimation/help/FN_monsizing.htm

Java의 경우 우리 도구를 사용해 볼 수 있습니다. 품질게이트 60개 이상의 소스 코드 측정항목을 계산하고 시간에 따른 모든 변경 사항을 추적하며 소스 코드의 유지 관리 가능성에 대한 전반적인 등급도 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top