예전 몇번의 글로 제가 개발자를 편하게 하는 기술, 나를 행복하게 하는 기술, 정확하게 말해 JUnit, Ant, SVN 등의 여러 자동화 툴을 이용하여 개발자는 프로그래밍만 집중하고 나머지 테스트, 배포, 소스관리, 개발자간 의사소통등의 여러 잡다한 노가다성 일은 자동화 하는 기술에 관심이 있다고 쓴적이 있습니다.

최근에 이런 자동화 기술과 관련된 좋은 세미나가 있었습니다. kenu님 등과 함께 자바 진영에 유명하신 박재성님과 KSUG이 주최한 세미니가 있었어요. 그런데 제가 부상당한 부위(엉덩이 근육통 이라는 엉뚱한 부상입니다.) 가 있어서 가지 못했습니다.

무료로 제가 원하는 바를 골고루 습득할 수 있는 절호의 기회였는데 놓쳐서 땅을 치고 아쉬워하며 서점으로 달려갔습니다. 그래서 서점에서 열이아빠님이 소개해주신 '지속적인 통합' 이란 책을 샀어요.

지속적인 통합: 소프트웨어 품질을 높이고 위험을 줄이기 상세보기
폴 M. 듀발 지음 | 위키북스 펴냄
이 책은 개발조직의 성공을 위한 '지속적인 통합'에 대해 이야기한다. 저자는 일일 빌드가 참신한 생각이었던 때를 지나 지속적인 통합을 하는 수준에 이르렀고, 이제는 지속적인 통합을 하느냐의 여부가 제대로 일하는 개발 조직을 가늠하는 잣대가 됐다고 주장한다. 그리고 이 책을 통해 소프트웨어의 품질은 높이고 위험은 줄이는 지속적인 통합의 개념과 실천방법을 자세히 설명한다. 또한 CI 시스템이 수행하는 데이터베이스

책을 읽어보니 제가 궁금해 하던 내용이 많이 나와 있었습니다. 열심히 읽고 실습도 하여 정리된 내용은 블로그에 올리겠습니다. 그리고 박재성님이 곧 책도 내신다고 하니 기대가 많이 되면서 조만간 제가 관심갖는 분야에 많은 진전이 있으리라 생각합니다.


예전에는 Ant, Maven, JUnit, SVN, CruiseControl 등의 오픈소스(=제품) 개별로 존재하던 문서들이 '사람을 위한 자동화'란 큰 주제로 통합되는 시도가 이루어지고 있는데요. 그 시도 중에 IBM developerWorks의 사람을 위한 자동화 기사들이 있습니다.

오늘은 이 기사중에서도,
을 소개하겠습니다.

이클립스 플러그인 중에 코드의 건강함(=깔끔함=간결함=무결성)을 체크할 수 있는 여러 플러그인이 있다고 합니다.

일단 코드의 건강함을 체크하는 5가지 항목이 있다고 합니다.
코딩 표준 : 팀에서 명시한 코딩 표준을 준수했는가
코드 중복 : 코드의 중복은 일거리를 여러 번 만든다.
코드 커버리지 : 코드에 대한 자동화 테스트가 버그 생길 틈 없이 잘 이루어졌는가
의존성 분석 : 객체지향에서는 느슨한 의존을 중요시한다. 객체지향 적인 의존성 검사
복잡성 모니터링 : 메소드의 복잡성 체크

기사를 읽고 잠깐 정리해보니 코드의 건강함을 체크하는 방법이 이렇게 5가지로 정리된다는 것을 알게 되었습니다.

그리고 이 코드 건강함의 5대 체크 항목을 도와주는 이클립스 플러그인이 있다고 합니다.

툴                 목적                 Eclipse 플러그인 URL
CheckStyle    코딩 표준 분석          http://eclipse-cs.sourceforge.net/update/
Coverlipse    코드 커버리지 테스트    http://coverlipse.sf.net/update
CPD           Copy/Paste 탐지         http://pmd.sourceforge.net/eclipse/
JDepend       패키지 의존성 분석      http://andrei.gmxhome.de/eclipse/
Metrics       Complexity monitoring   http://metrics.sourceforge.net/update

정리해보니 중요하게 느껴지는 코드 건강함 체크 5가지 항목을 이클립스 플러그인으로 편하게 체크할 수 있습니다. 자세한 것은 기사를 참고하시면 되겠습니다.

> IBM developerWorks
신고
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. Green 2008.04.30 09:34 신고  댓글주소  수정/삭제  댓글쓰기

    저도 요새 틈틈히 읽고 있는 책입니다.
    CI의 중요성은 다른 무엇보다도 프로젝트의 가시성을 높여주는데 있고
    가시성을 높이는데 CI서버에서 daily build시에 Maven으로 돌린 리포팅이 한 몫을 합니다.
    위에서 쓰신 이클립스 플러그인들도 Maven플러그인으로 리포팅을 할 수 있을 것 같습니다.

    • BlogIcon 산골 2008.04.30 22:59 신고  댓글주소  수정/삭제

      그린님 어서오세요~
      메이븐 플러그인으로 리포팅을 할수 있나 보군요. ;
      좀더 공부를 해봐야겠습니다.
      심도있는 피드백 감사드립니다..
      그런데 그린님 인자 블로그 주소좀 남겨주세유..^ ^
      아니면 다음 KSUG 모임때 인사드려야 되나..;

  2. BlogIcon 기차니스트 2008.05.02 15:43 신고  댓글주소  수정/삭제  댓글쓰기

    저희 수업중에 이클립스로 프로그램 돌리는게 있었는데,
    자꾸 오류가 나서 못 한게 있어요 ㅠ_ㅠ
    맨날 수업가면 프로그램 설치만 하다 와요 ㅋㅋㅋ

    • BlogIcon 산골 2008.05.04 20:09 신고  댓글주소  수정/삭제

      기차니스트님도 프로그래밍쪽 하는걸로 얼핏
      할고는 있는데..이클립스도 다뤄보시는군요..
      제가 보면 언능 해결할수 있을것 같지만..;

      이클립스는 우리 개발자를 위한 행복 도우미입니다.
      기차니스트님도 행복한 개발 하세요. ^ ^

  3. 2008.05.02 17:35  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • BlogIcon 산골 2008.05.04 20:09 신고  댓글주소  수정/삭제

      안녕하세요. ^ ^
      그렇지 않아도 전에 가입하려고 했었는데..
      사이트가 열리지 않았었어요..
      인자 다시 가입하겠습니다. ^ ^

  4. BlogIcon nabiweb 2008.05.03 23:16 신고  댓글주소  수정/삭제  댓글쓰기

    모든 프로그래밍하는 분들이 추구하는 가치중 중요한 것에 대해 말씀해주신 것 같습니다.
    제가 알고 있는 훌륭한 프로그래머분들이 가장 지향하는 부분이 바로 노가다를 자동화 하는 것이었죠.
    그 노력으로 인해 사람들이 효율적인 업무를 할 수 있다는 것을 많은 부분 공감하고 있습니다.
    그럼 산골소년님도 훌륭한 개발자이신거죠? ^^

    • BlogIcon 산골 2008.05.04 20:11 신고  댓글주소  수정/삭제

      트로이스카이님은 프로그래머인줄 알았는데..
      nabiweb님도 프로그래머신줄은 몰랐어요..
      경험에서 우러나는 값진 댓글 감사드립니다..
      저는 훌륭한 개발자가 되고 싶고..블로그가 그길에
      도움되는것 같습니다..
      우리 모두 훌륭한 개발자 되기위해 화이팅 입니다. ^ ^

    • BlogIcon nabiweb 2008.05.07 10:15 신고  댓글주소  수정/삭제

      앗.. 아니여요. 간접경험이여요.
      저와 함께 일하는 분들 중에 프로그래머가 많거든요.
      저는 웹PM이랍니다. ^^;;
      늘 훌륭한 프로그래머분들께 감사하고 있어요.
      오해를 불러일으켜서 죄송해요~

    • BlogIcon 산골 2008.05.07 21:08 신고  댓글주소  수정/삭제

      엇..나비웹님..그러셨군요~
      트로이스카님하곤 예전회사 동료셨겠죠..
      에고~ 트로이스카이님과 나비웹같은
      스캔들 부러워요~ 근데 우리회사 여직원은 없어요~ ^ ^