PMD는 자바 소스코드를 자동으로 리뷰하여 잠재적인 결함을 찾아주는 도구입니다. 오픈소스 프로젝트로 개발되고 있으며 4.2.1까지 나와 있습니다.
PMD만으로도 이용할 수 있지만 이클립스, JBuilder와 같은 IDE와 연동하여 이용하는게 보통이며 Ant, Maven과 같은 빌드툴과 연동하여 CI를 지원하는 환경을 구축할때도 유용하게 사용할 수 있습니다.

PMD를 이용하여 찾을 수 있는 결함에는 다음과 같은 유형들이 나올수 있습니다.

  • 잠재적 버그
  • 사용하지 않는 코드
  • 너무 복잡한 코드
  • 중복된 코드

사실 이런 결함을 눈으로 찾을 수도 있지만 개발중에 사전에 정의해 놓은 룰셋을 기반으로 자동으로 체크해 준다면 개발자는 문서로 된 컨벤션을 확인하느라 고생하지 않고 프로젝트 표준에 적합한 코드를 작성하는게 가능해 집니다.

이클립스 플러그인형태로 PMD를 사용해 보도록 하겠습니다. PMD 이클립스 플러그인을 설치하는 가장 손쉬운 방법은 Update 사이트를 이용하는것입니다. 

  1. 이클립스를 실행한다.
  2. Help -> Software Updates -> Find and Install 선택
  3. Next를 누르고 New remote site를 선택
  4. Name에 PMD, URL에 http://pmd.sf.net/eclipse를 입력하고 엔터를 누른다.
사용자 삽입 이미지


몇가지 물어보는 과정을 거치고 나면 설치가 완료되고 이클립스를 재시작 하라는 메시지가 나옵니다. 재시작하고 Window -> Preferences로 가보면 PMD라는 메뉴가 추가된걸 확인할 수 있습니다.

사용자 삽입 이미지


PMD를 가지고 자바소스를 리뷰해 보도록 하겠습니다. 테스트로 사용할 솔스는 PetStore 2.0 입니다. 이클립스에서 자바프로젝트를 하나 만들어서 PetStore 소스를 임포트합니다. Package Explorer에서 검토할 소스를 선택하고 PMD -> Check code with PMD를 선택합니다.

사용자 삽입 이미지


해당  소스가 위반하는 룰에대한 현황을 Violations Overview에서 볼 수 있습니다. 너무 많은 Violation이있으면 Priority 수준을 1~5까지 선택적으로 볼수 있습니다. 오른쪽 상단의 여러색의 원형 블릿을 누르면 이를 조정하는게가능합니다.

사용자 삽입 이미지


소스파일 하나가 아닌 프로젝트 전체에 대해 검사를 수행하고 그 결과를 보고 싶을수 도 있습니다. 만약 개발리더나 아키텍트라면 이런 일을 수행해야 할거 같습니다. 프로젝트를 선택하고 PMD ->Generate reports를 누릅니다. 그러면 reports 폴더가 생기면서 프로젝트 전체 소스에 대한 검사결과 레포트를 생성해 줍니다.

사용자 삽입 이미지


이렇게 진행하는건 IDE를 이용하여 개발을 진행하면서 PMD를 사용하는 경우라 말할수 있습니다. 이와 병행하여 빌드에 PMD를 끼워넣어서 같이 실행되도록 할 수도 있습니다. 다음번에 이에 대해 알아보도록 하겠습니다.



[출처]
http://moai.tistory.com/541

블로그 이미지

532

처음 프로그래밍을 시작한 개발자들은 Hello World!를 기억 할 것이다. Hello world가 Hell World가 될 줄 몰랐던 한 개발자의 이야기. 게시글의 출처를 표기하며, 출처를 남기지 않고 펌을 하는것에 대해 법적 책임을 묻지 않습니다.

,