Flex PMD
원래 PMD는 오픈소스로 진행되는 일종의 문자열 검사기 입니다.
미리 규칙을 정해놓고 텍스트파일을 검사해서 해당 문자규칙에 맞지 않으면 레포트를 해주는 툴인데 원래는 자바를 위해 개발되었으나 어느새 범용적인 툴로 자리잡고 있습니다.
PMD 홈은 여기입니다.
컴파일러가 코드에 대해 검사를 해주는데 왜 이게 필요할까요?
컴파일은 되지만 올바르지 않다고 생각할만한 코드는 얼마든지 있기 때문입니다. 예를 들어 case문 뒤에 break는 안 써도 되지만 대부분 디버깅하기 어려운 런타임에러를 만들어 낼 뿐입니다.
따라서 이러한 경우 case 문 뒤에는 반드시 break가 와야 한다. 아니면 경고를 내라 라는 규칙을 설정해두면 컴파일에러에도 안 나오는 잠재적인 에러를 방지할 수 있습니다.
이러한 추가적인 코드 검사기는 코딩 스타일에서 팀에서 정한 코딩 규칙 등도 모두 강제할 수 있는 수단을 제공합니다.
Flex PMD 설치 방법
- http://opensource.adobe.com/wiki/display/flexpmd/Downloads 에 가서 All – in – one – bundle 을 받는다.
- 안전하고 계속 사용할 폴더에 푼다.
- 이클립스의 소프트웨어 업데이트를 통해 http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site 를 잡아주고 플러그인을 설치한다.
- 환경설정의 FlexPMD로 들어가 FlexPMD command line installaion 항목에 2번의 압축 푼 폴더에 있는 flex-pmd-command-line-1.0.jar 를 지정해준다.
- 환경설정의 FlexPMD에서 FlexCPD command line installaion 항목에 2번의 압축 푼 폴더에 있는 flex-pmd-cpd-command-line-1.0.jar 를 지정해준다.
- 뷰패널에서 FlexPMD view를 추가해준다.
- 이제 아무 프로젝트나 가서 src폴더에서 오른버튼을 누르면 나오는 FlexPMD 메뉴의 Run FlexPMD를 실행한다.
- FlexPMD View 패널의 정보를 참조하여 코드에 반영해본다.
- 만약 PMD실행결과가 x마크를 만들어 컴파일을 방해한다면 FlexPMD View 패널 우상단에 있는 빨간 버튼은 누르면 이를 제거할 수 있다.
자신만의 룰셋 설정방법
- 슬슬 이 모든 룰셋이 다 필요없고 선택적으로 쓰고 싶은 생각이 든다.
- http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-ruleset-creator.html 에 간다.
- 필요없는 룰셋을 쓰레기통 표시로 지운다.
- export하여 pmd.xml을 적당한 곳에 저장한다.
- 이클립스의 환경설정의 FlexPMD로 들어가 FlexPMD custom ruleset을 아까 받아온 xml로 지정해준다.
- 이제 필요한 룰만 검사할 수 있게 되었다.
더욱 더 커스터마이징 하고 싶을 때
- PMD룰 클래스를 공부한다.
- 룰 클래스를 만들고 ant Task로 다시 래핑한다(ant task도 공부한다)
- 새로 만든 룰셋을 룰xml에 추가하여 규칙을 추가한 커스텀 룰셋xml을 작성하여 적용한다.
결론
코드의 품질검사는 이미 대규모 프로젝트에서 기본입니다. 플래시, 플렉스 프로젝트도 점점 대형화 되어가는 추세 속에 당연히 도입되어야 하는 부분이겠죠. 익숙하지 않다면 반복하여 숙달시키고 익숙해집시다.
관련된 글: