프로필사진
owgno6
CODELIB
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total

티스토리 뷰

기타

PMD - 정적 코드 분석

owgno6 2018. 9. 14. 11:11

PMD란?

PMD(Programming Mistake Detector)는 응용 프로그램 코드에서 발견 된 문제를 보고 하는 오픈 소스 정적 Java 소스 코드 분석기 입니다. PMD에는 기본 제공 규칙 세트가 포함되어 있으며 사용자 지정 규칙을 작성할 수 있습니다.

 

(PMD는 올바른 형식의 소스 파일만 처리 할 수 있기 때문에 컴파일 오류를 보고하지 않습니다.)

 



PMD 설치

PMD 홈페이지에서 (https://pmd.github.io/#downloads)



이클립스 플러그인 정보를 확인하고, 해당 URL을 이클립스 software update에 추가하여

이클립스 버전에 맞는 PMD버전을 선택하여 설치합니다.


이클립스 Package Explorer에서 우클릭하여 PMD 메뉴가 나오면 설치완료.




PMD 사용법

분석하고자 하는 소스를 PMD로 검사.

패키지 익스플로러에서 우클릭하면 하단 PMD 메뉴에서

Check Code를 실행한다.





검출된 위반사항을 참고하여 코드를 개선한다.

Violations Outline창에서 전체 검출된 위반 목록을 확인.

해당 건을 클릭하면 소스창에서 위반위치로 이동하여 확인할 수 있음.




검사하고자 하는 코딩룰은 룰셋으로 정의되어 있다.

각각의 상세한 내역을 홈페이지에서 확인이 가능하다.


PMD sourcforge (https://pmd.sourceforge.io/pmd-4.2.6/rules/basic.html)

전자정부 표준 inspection 룰셋 (http://www.egovframe.go.kr/wiki/doku.code_Inspection)

전자정부 표준 inspection 룰셋 (http://www.egovframe.go.kr/wiki/doku.usetoolphp?)





PMD는 잘못된 코드부분이나 위반사항을 지적해준다.

하지만, PMD에 의해 보고 된 문제는 다소 비효율적인 코드일 수 있고,

잘못된 프로그래밍 습관으로 이후에 프로그램의 성능과 유지 보수성을 저하시킬 수도 있다.





댓글