2009-11-21 5 views
9

코드 통계 도구에 관심이 있습니다. 특히 Java EE 코드에 대한 통계를 얻을 필요가 있지만 모든 코드 분석기가이를 수행 할 것입니다. 내 프로젝트 중 하나를 만들기 시작해야합니까, 아니면 사용했던 프로젝트가 있습니까?큰 프로젝트의 코드 통계 받기

ex. LOC, 클래스 수, 라이브러리 ...

귀하의 경험은 무엇입니까?

답변

12

을 시도 할 수, Sonar 당신이 찾고있는 도구가 결정적이다. 이 도구는 JavaNCSS를 사용했지만 버전 1.9부터 Java 1.5 또는 1.6 프로젝트와 완전히 호환되는 자체적 인 내부 도구 (SonarSquid)가 있습니다.

alt text http://sonar.codehaus.org/wp-content/uploads/2009/05/sonar-squid.jpg

또한 프로젝트의 완전한 세트를 모니터링 할 수 있습니다.

Nemo demo instance에 액세스하여 도구의 전체 개요를 볼 수 있습니다.

+1

이 도구는 OP 문제를 해결하기 위해 과도하게 사용됩니다. 두 번째 도구를 사용하여 실제 분석을 수행하고 적어도 두 개의 구성 파일을 사용하여 개발 시스템에 3 계층 웹 응용 프로그램을 설치하려는 경우 계속 진행하십시오. 60 초 만에 세 가지 criterias OP를 나열한 도구를 원한다면 Marcelo의 대답을 살펴보십시오. – Nilzor

+0

@Nilzor 나는 동의하지 않는다. 소나는 사용하기가 정말 쉽습니다. zip을 다운로드하여 시작하고 분석을 실행하십시오. 물론 많은 정보를 제공합니다. OP가 요청한 것보다 더 많은 정보를 제공합니다. 마르셀로가 제시 한 도구에 관해서는, 나는 그들이 너무 나이가 정확하게 자바 1.5 이상 코드를 (즉, 오랫동안 자바 1.5와 호환되지이었다 JavaNCSS 도구로 발생)을 분석 할 수 없습니다 것을 두려워 – romaintaz

5

이미 Metrics Eclipse Plugin을 사용했습니다. 요즘에는 시대에 뒤떨어 지지만 여러 가지 흥미로운 통계가 있습니다.

StateOfFlow도 있습니다. 더 적은 메트릭스를 지원하지만 구식이 아닌 것 같습니다.

+0

StateOfFlow 충돌합니다. "사용할 수있는 typeinfo 패키지가 없습니다 (내 패키지)". 보고 된 문제는 무시됩니다. 프로젝트가 종료되었습니다. –

4

일부 기본 메트릭 (NCSS, # classes/packages/functions, CCN)을 지원하는 JavaNCSS - A Source Measurement Suite for Java을 사용할 수 있습니다. 당신이 "자바"에 대한 구글 수에 대한 그 충분하지 않으면

그런

을 (당신도 특별한 언어로 자신의 메트릭을 정의 할 수 있습니다) 일부 20 + 코드 메트릭 및 Clover을 지원 Sonar있다 및 "메트릭"

+0

+1 음파 탐지기입니다. JavaNCSS 자바 1.5 이상 프로젝트 몇 가지 문제를 가지고 있으며, 소나 팀 (이 도구는 SonarSquid라고 내가 올바른 오전 경우 버전 1.9 이후 수중 음파 탐지기에 embended됩니다) JavaNCSS 교체에 자신의 도구를 개발 그 이유는 있습니다. – romaintaz

3

틈새 통계를 수집하는 도구는 Testability Explorer입니다. 그것은 순환 바이트 복잡성, 가변 글로벌 상태 및 다른 것들에 대한 통계를 제공하는 자바 바이트 코드에서 작동합니다. Apache 2.0 라이센스에 따라 무료이며 오픈 소스입니다.

내가 말했듯이 이것은 매우 틈새 시장이며 LOC와 관련이있는 지표를 제공하지 않을 것입니다. 그러나 흥미로운 점은 실행 프로젝트를 several well known open-source projects과 비교할 수 있다는 것입니다. 이것은 결과를 더 유용하게 만들 것입니다.


최근에 사용한 다른 도구는 SLOCCount입니다. Java를 포함하여 여러 언어에 대한 통계를 제공하도록 설계된 명령 행 도구입니다. JavaNCSS를 큰 코드베이스 (너무 많은 파일을 불평 함)에서 실행하지 못한 후에는 매우 큰 코드베이스 (IntelliJ IDEA)에서이 도구를 아무런 문제없이 실행할 수 있습니다. 좋은 기능은 구성 가능성이 거의없고, 심지어 *.java 개의 파일을 찾지 않아도 다른 언어가 자동으로 인식되어보고된다는 것입니다.

Windows를 실행하는 경우 SLOCCount의 단점이 있습니다. Cygwin을 사용하여 실행해야합니다. 지터에 의해 설명으로

2

일식를 들어 당신이 Emma (코드 커버리지)와 JDepend (설계 품질 메트릭)

3

SD Java Metrics Tool는 (... 메서드, 클래스, 파일, 디렉토리) 메소드 수준에 그보다 큰 모든 롤업 위해 아래로,

SD Java Clone Doctor 분석을 SLOC, 댓글 수, 할스 테드와 복잡성을 번호를 제공합니다 코드 복제를위한 소프트웨어 시스템을 제공하며 대형 소프트웨어 시스템에서 일반적으로 10-20 %의 클론 목록을 제공합니다. 링크에서 클론 탐지 보고서를 볼 수 있습니다.

SD Source Code Search Engine 인덱스 소스 코드 기반

는 수백만 줄의 코드를 통해 번개 빠른 검색을 제공합니다. 소스 기반 색인 생성의 부산물로서 SLOC, 주석 수, Halstead 및 Cyclomatic 수에 대한 파일 수준 통계를 생성합니다. Java, C# 및 기타 여러 언어로 작동합니다.

2

또한 JavaDepend을 시도 할 수 있습니다, 그것은 82 개 이상의 통계를 제공하고, CQL (같은 SQL)의 코드베이스는이 유연하게 조회 할 수 있습니다.

그리고 메트릭보기

당신에게 SLOC, 복잡성 및 기타 ineresting 메트릭의 시각적 좋은 아이디어를 제공합니다. 나는 통계 보고서에 내 프로젝트를 내보낼

Metric View