Continuous endeavor for a better continuous integration
Book Review 2008/06/04 18:48 |In English...(show)
지속적인 통합(Continuous Integration, CI)이란 주제에는 항상 관심이 많았습니다. 현재 팀에서도 나름대로 지속적인 통합을 잘 활용하고 있다고 생각했는데, 이 책을 읽어보니 개선할 점이 많더군요.
다음과 두 가지 사항이 도움이 되었습니다.
- CI 빌드 시에 꼭 모든 것을 하려고 해서는 안된다. 빌드 시간이 10분을 넘기기 시작하면 사람들이 CI에 반감을 가질 수 있다. 오래 걸리는 작업은 별도 주기의 빌드(일일 빌드 등)에서 수행하라.
- 정적 코드 분석 툴 및 동적 분석 툴을 통해 테스트를 보완하라.
정적 코드 분석은 코드 중복 체크나 가능한 오류 사항 및 코딩 규칙 위반 사항 점검에 유용합니다. 동적 분석은 테스트 코드의 커버리지(coverage)를 검사합니다. 아쉽게도 C++ 언어용으로는 쓸만한 공짜 분석 도구들이 눈에 뜨이지 않더군요. 이 책을 통해서 알게된 SourceMonitor와 Simian이 C++을 지원합니다.
SourceMonitor는 코드의 복잡도를 분석해주는 도구입니다. 복잡도가 높을수록 버그그 파고들 구멍이 많은 것이니 리팩토링 시 그러한 부분들에 먼저 주목하면 좋겠지요. Simian은 코드 유사성 검사 도구로 'Don't Repeat Yourself' 원칙이 위배되는 copy & paste 코드가 몰래 추가되는 일을 막아줍니다. 이 두 도구에 대한 간단한 설정 방법이 제 위키에 나와 있습니다.
혹시 공짜 C++ 코드 커버리지 분석 도구 알고 계신 분 있나요?
all2one awakening.png)




이올린에 북마크하기
이올린에 추천하기
댓글을 달아 주세요
VS 2005 이상, MSDN 라이센스로 사용하고 계실것 같은데 그렇다면 팀슈트 버전을 사용해 보세요. 기능 중에 '코드분석' 이라는 것이 있는데 꽤 쓸만합니다.
네 아쉽게도 저희는 team suite 라이센스가 아니라... ㅠㅠ 그리고 가능하면 공짜 툴이 좋은데 ㅎㅎ