0. PMD란?
PMD(Programming Mistake Detector)는 애플리케이션 코드 내에서 발견된 문제를 보고하는 정적 소스코드 분석기입니다.🐱🐉
일반적으로 시큐어 코딩을 위해 자바 코드를 검사해서 나쁜 코딩을 잡아주고 그에 대한 설명을 지원하며, Eclipse, Jbuider 등에 연동하여 사용해요.
또한
- PMD에는 기본 제공 규칙 세트가 포함되어 있으며 사용자 지정 규칙을 작성할 수 있어요.
- PMD는 올바른 형식의 소스 파일만 처리할 수 있기 때문에 컴파일 오류는 보고하지 않아요
PMD는 대표적으로 다음과 같은 소스 코드의 결함을 감지할 수 있습니다!
- try / catch / finally / switch 블록이 비어 있을 때
- if / while 문이 비어 있을 때
- 불필요한 if 문일 때
- 낭비적인 string / stringbuffer를 사용하고 있을 때
- 복사 / 붙여 넣기를 많이 해 유지 관리 능력을 떨어뜨릴 때 등
1. 설치
이클립스에서는 ‘PMD-eclipse-plugin’이 이클립스 마켓에 올라가 있어 손쉽게 설치할 수 있어요.
- Help > Eclipse Marketplace > ‘PMD’ 검색
(설치가 완료되면 이클립스를 재시작해줍니다.)
설치가 완료되면 ‘eclipse Perspective’에 확인이 됩니다.
2. 세팅
Eclipse-Window-Preferences에서 PMD의 Reports를 선택 후 리포트 형식을 ‘CSV’로 지정해 줍니다.
기본으로 설치되어 있는 Rull을 ‘EgovInspectionRules’으로 변경해 주는 작업으로
Eclipse-Window-Preferences에서 PMD의 ‘Rule Configuration’로 이동합니다.
‘Rule Configuration’에 있는 Rule들을 모두 선택한 뒤 ‘Remove rule’을 진행해 줍니다.
모두 제거가 완료되었다면 ‘Import rule set’을 선택합니다.
‘Import rule set’에서 ‘Browse’를 선택하여 ‘EgovInspectionRules_kor-3.5_new4.xml’를 불러옵니다.
※ 룰 셋 3.8 파일 다운로드 링크
https://www.egovframe.go.kr/wiki/lib/exe/fetch.php?media=egovframework:dev3.8:imp:egovinspectionrules-3.8.zip
※ 적용 방법 및 PMD 룰 셋에 대한 내용 참고
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev3.8:imp:inspection
‘EgovInspectionRules_kor-3.5_new4.xml’에 들어있는 Rule을 확인하고 OK 버튼을 통해 적용시켜 줍니다.
적용이 되면 Eclipse full Build를 진행하여 Apply 시켜 줍니다.
3. 작동
프로젝트에서 PMD 체크할 패키지를 선택한 뒤 ‘Check Code’를 클릭합니다.
Code Checking이 완료되면 위반사항이 색별로 표시가 됩니다.
- 컬러 삼각형들은 priority levels로 각 의미는 아래 참고 사항을 확인하세요~
- 특정 기능 활용방법
위반사항을 리포트로 출력하기 위해 프로젝트를 우측 클릭합니다..
PMD에서 ‘Generate Reports’를 클릭합니다.
4. 참고 사항
- priority levels의 의미
- eclipse에서 'an error has occurred. see the log file' 발생 시
workspace/.metadata/.log 파일에 알 수 없는 형식의 문자가 들어간 것으로 아래 3가지 방법을 통해 해결할 수 있습니다.
1. eclipse 실행 시 -clean 옵션으로 실행하기
- 커맨드 모드에서 [c:\eclipse\eclipse.exe -clean] 입력
2. workspace/.metadata/.plugins/org.eclipse.core.resources/.snaps 파일 삭제
- '.snaps' 파일을 삭제
- 재시작하여 새로운 '.snaps' 파일 생성
3. workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi 파일 삭제
- 'workbench.xmi' 파일을 삭제
- 'workbench.xmi' 파일은 정상종료 시 다시 생성
'Tools' 카테고리의 다른 글
[ERwin] ERD Tool ERwin 한글깨짐문제 (0) | 2021.11.17 |
---|---|
[Fiddler] 모바일 웹 디버깅 방법(proxy) (0) | 2021.11.03 |
[Chrome] 개발자 도구 전체검색 하는 방법 (1) | 2021.09.08 |
[Notepad++] 노트패드 열 편집 단축키 및 유용한 설정(폰트, 줄 간격 등) (3) | 2021.07.01 |
[Glogg] 로그뷰어 Glogg를 소개합니다. (1) | 2021.06.30 |