언더커버 (undercover-maven-plugin)
- 단위 테스트 테스트 소스 커버리지 리포트 툴
파인드 버그 (findbugs-maven-plugin)
- 정적 소스 코드 분석 툴
- 버그 발생 가능성이 있는 코드, 나쁜 개발 습관으로 작성한 코드, 성능에 영향을 미칠 것으로 생각하는 코드에 대한 정보를 제공
PMD 리포트 (maven-pmd-plugin)
- 정적 소스 코드 분석 툴
- 애플리케이션별로 제공하는 룰셋이 있어, 이를 설정할 수 있음
CPD 리포트
- 소스 내에 존재하는 중복 코드를 찾아주는 툴
- PMD 툴에 포함되어 있음 (pmd:cpd 골을 실행)
제이디펜드 리포트 (jdepend-maven-plugin)
- 소스코드의 복잡도를 분석하는 툴
- 주요 용어
- 클래스와 인터페이스 수
- TC : 패키지가 포함하는 클래스/인터페이스 수
- CC : 구현 클래스 수
- AC : 인터페이스/추상 클래스 수
- Afferent Couplings (Ca)
- 다른 패키지에서 현재 패키지에 의존하고 있는 패키지 수
- Efferent Couplings (Ce)
- 현재 패키지에서 다른 패키지에 의존하고 있는 패키지 수
- Abstractness (A)
- 총 클래스수(TC) / 추상 클래스(AC)
- Instability (I)
- I = Ce / (Ce + Ca)
- 외부 패키지와의 의존 비율. 즉 이 패키지가 외부 패키지의 변경에 대해 영향을 받을 가능성
- Distance from the Main Sequence (D)
- 추상화와 안정성에 대한 패키지의 균형을 위한 이상적인 값은 A+I = 100%로 정의
- A+I가 100%에서 얼마나 떨어져 있는지 표시하는 수치로, 즉, D가 100%에 가까울 수록 좋지 않는 패키지 의존관계이므로 리팩토링해야 함을 의미
- 순환 의존 관계
- A 패키지와 B 패키지가 Ca와 Ce 의존관계일 경우 발생 (즉, A와 B가 상호 참조 관계일 때를 의미)
- 모든 패키지는 한방향으로만 의존관계를 가지는 것이 좋음
출처: 자바 세상의 빌드를 이끄는 메이븐 (박재성 저)
'공부 > Maven' 카테고리의 다른 글
[서적 핵심 정리] Maven 사내 저장소 설치 및 활용 (0) | 2013.04.07 |
---|---|
[서적 핵심 정리] Maven 모듈 (0) | 2013.04.07 |
[서적 핵심 정리] Maven 프로파일, 배포 (0) | 2013.04.06 |
[서적 핵심 정리] Maven과 데이터베이스 통합 (0) | 2013.04.06 |
[서적 핵심 정리] Maven과 이클립스 통합 (0) | 2013.04.06 |