메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

자바 프로그램 분석기 - PMD

한빛미디어

|

2003-04-25

|

by HANBIT

16,333

저자: 한빛리포터 김영익

이 기사에서는 자바 프로그램의 소스 코드를 분석하여 프로그램의 불필요한 부분을 찾아내고 성능을 높이도록 도와주는 도구인 PMD에 대해서 소개할 것이다. PMD는 오픈 소스이고 콘솔용과 여러 에디터를 지원하므로 다양한 환경에서 자바 프로그램을 개발하는 사용자들에게 아주 유용한 물건(?)이 될 것이다.

1. PMD?

다음 사이트에 가면 PMD의 소개가 아래와 같이 간단히 있다.

http://sourceforge.net/projects/pmd/ PMD is a Java source code analyzer. It finds unused variables, empty catch blocks, unnecessary object creation, and so forth.
PMD는 자바 소스 코드 분석기로 사용하지 않는 변수, 아무 처리도 안하는 catch 블록, 불필요한 객체 생성 등등을 찾아낸다.

이 한마디가 PMD에 대한 소개의 전부이다. 그러나 PMD가 가진 기능은 정말 대단하다. 정말 위에서 말했던 기능을 전부 제공한다면 수많은 자바 개발자들이 뜨끔해 할 것이다. 하지만 이와 같은 도구를 사용하여 자신의 소스 코드를 정리하고 최적화시킨다는 것은 정말 가치 있는 일이라고 생각한다.

예전에 오라클에서 만든 JDeveloper라는 IDE에서 "Code Coach" 기능을 지원하는 것을 잠시 본적이 있었는데 PMD의 기능과 거의 유사한 기능을 가지고 있었던 기억이 난다. 그러나 JDeveloper는 상용제품이므로 많은 개발자들이 사용하지는 못할 것이다. 하지만 PMD는 오픈 소스이므로 전혀 비용부담이 없다. 게다가 여러 에디터를 지원하므로 자신의 입맛에 맞도록 선택만하면 된다. 그럼 이제부터 PMD의 설치부터 간단한 사용법에 대해서 살펴보겠다.

2. PMD 설치 및 사용

PMD는 앞에서처럼 http://sourceforge.net/projects/pmd/에 가면 다운로드 받을 수 있다. 다양한 버전이 있으므로 자신의 환경에 맞는 것을 골라서 다운로드 받도록 하자. 이 기사에서는 사용하기 편한 JBuilder용을 다운로드 받고 설명한다. 다운로드 받은 파일로 압축을 풀면 다음과 같은 2개의 파일이 있다.
PMDOpenTool.jar
pmd-1.02.jar
이 두 파일을 JBuilder 설치 폴더 밑의 \lib\ext에 두고 JBuilder를 실행하면 아래 그림처럼 툴바에 버튼이 3개 추가된다.


[그림 1]

첫 번째 주황색 버튼은 하나의 파일에 대해서 분석하는 "PMD Check File"이다. 두 번째 파란 버튼은 전체 프로젝트에 대해서 분석한다. 마지막 녹색 버튼은 "CPD Check Project"라고 하는데 도대체 무슨 기능인지 모르겠다. 실행을 하면 너무 오랫동안 작업진행 상태로만 있고 끝이 보이지 않는다. 이번에는 JBuilder의 왼쪽 프로젝트 트리의 화면을 보도록 하자.


[그림 2]

패키지별로 "PMD Check" 기능을 사용할 수 있다. 역시 CPD 기능은 모르겠다. 이번에는 파일 하나를 선택했을 경우이다.


[그림 3]

개별적으로 파일 하나에 대해서도 분석이 가능한 것이다. 원하는 패키지나 소스 코드에 대해서 분석을 하면 메시지가 나타나며 선택하면 해당 소스코드의 위치로 이동한다. 아래 그림은 사용되지 않는 변수에 대해서 선택했을 경우, 해당 소스 코드 부분이 노란색으로 선택된 화면이다. 빨간 메시지에 따라 적절히 소스 코드를 수정하고 다시 실행하면 빨간 줄이 없어진 것을 확인할 수 있다. 빨간 줄이 줄어들수록 얼마나 뿌듯한가?


[그림 4]

3. PMD 설정

PMD를 처음 실행하면 소스 코드를 수정하라고 권고하는 빨간 줄이 아주 많이 나타나게 된다. 내용을 살펴보면 굳이 수정하지 않아도 되는 부분에 대해서도 기분 나쁘게 보이는 경우가 있다. 이럴 때는 주저하지 말고 PMD를 자기 입맛에 맞도록 설정하여 사용하면 된다.


[그림 5]

위의 그림처럼 메뉴를 선택하면 아래 그림과 같은 PMD 설정 화면이 나타난다.


[그림 6]

다른 기능에 대해서는 잘 모르겠다. 두 번째에 있는 "PMD RuleSet Properties" 탭을 선택하고 체크 박스를 원하는 대로 설정하면 귀찮은 메시지는 출력되지 않고 자신이 작업하기를 원하는 결과에 대해서만 출력할 수 있다. 아래에 보이는 "Example Code" 탭을 선택하면 예제 소스까지 보여준다. 정말 멋진 기능이라고 할 수 있다!


[그림 7]

4. 마치면서

지금까지 간단하게 PMD를 소개하고 사용하는 법에 대해서 살펴보았다. 본인도 모르는 기능이 많아서 죄송스럽게 생각한다. 하지만 위에 소개된 기능만으로도 분명 가치있는 도구라는 점에는 여러분도 동의할 것이다. 마지막으로 자신이 예전에 작성한 프로그램에 직접 PMD를 적용해보길 권한다. 무수히 쏟아지는 빨간 메시지와 함께 자기 자신을 되돌아 볼 수 있는 계기가 될 것이다.
TAG :
댓글 입력
자료실