IntelliJ PMD Plugin 

PMD
: 자바 컴파일러가 잡아내지 않는 버그나 잘못된 코드 패턴을 찾아주는 정적 코드 분석 도구

IntelliJ 에서 먼저 PMD Plugin을 아래와 같이 설치한다.
Preference > Plugins > Browse repositories... > pmd 검색 > PMD Plugin Install > Restart

설치하면 Other Settings에 PMD 항목이 추가된 것을 확인할 수 있다.
기본적으로 정의되어 있는 ruleset을 사용할 수 있지만 커스텀하여 사용할 수 있다.
어떤 코드를 잘못된 오류로 볼 것인지 결정하여 ruleset을 작성하여 아래오 같이 설정 파일을 등록하면 된다.
잘못된 ruleset 파일을 import 하게되면 파일을 점검하라는 알림창이 뜨게 된다.
그러나 문제는 이미 import한 파일을 수정하다가 오타가 생긴 경우이다. PMD 실행시 파일을 스캔하다가 종료되는듯 해보인다. 
그런데 파일이 잘못 되었다는 알림 같은 것이 없어 당황했다. 뒤늦게 오타가 있음을 발견하여 수정 후 정상 실행을 확인했다.

실행방법은 아래와 같다. 검사하고 싶은 패키지나 파일들을 우클릭해 Run PMD 에서 적용할 ruleset을 선택한다.
Pre Defined 는 기본적으로 지원하는 것이고, 커스텀 파일을 등록했다면 Custom Rules 에서 선택한다.
Custom Rules 비활성화 혹은 설정한 커스텀 파일명아 보이지 않는 경우에는 지체없이 재시작한다. IDE Restart!

실행하면 아래와 같이 검출된 항목이 타입별로 분류된다. 
그러나 정렬 기준이 뭔지는 모르겠다.. 검색도 되지 않아 내가 찾고자하는 타입을 찾기가 어려운게 단점이다.
Rerun > 최근 적용한 ruleset 으로 현재 오픈된 클래스 기준으로 재검출. 클래스 단위로 검사시 편함!
Export to Text File > PMD Results 를 html 파일로 export 파일 및 라인별로 위반한 룰을 안내. 보기 불편함..
Details > 위반한 룰에 대한 가이드 링크로 이동. 원인과 해결방안 제공. 이드 링크
가이드 링크의 내용을 번역하여 정리해 놓은 링크 공유합니다. PMD 한글번역

PMD를 통해 검출된 항목들을 검토하다 보면 코드 패턴 및 작성 요령을 깨달을 수 있다. 뿐만 아니라 JVM 내부 동작 같은 것도 알 수 있어 큰 도움이 된다!


'Development > Tool' 카테고리의 다른 글

VirtualBox 해상도 조절  (0) 2017.07.28
IntelliJ 단축키 정리  (0) 2017.03.21

+ Recent posts