336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

소프트웨어의 품질을 보장하기 위한 활동은 테스팅, 일일 빌드, 프레임워크 사용, 개발 패턴들 수없이 많은 방법이 있지만 코드리뷰 만큼 적은 투자로 큰 효과를 얻을 수 있는 기법은 없는 것 같다.


■ 코드 리뷰 스펙트럼

정형적(Formal) 코드 리뷰 방법 vs 손쉬운(Lightweight) 코드 리뷰 방법

1) 코드 인스펙션 (inspection)

코드 리뷰 기법 중에서 가장 정형화(most formal)된 패턴 기법

전문화된 코드 리뷰팀이 시스템이 어느 정도 구현된 단계에서 일정한 패턴을 가지고 코드를 분석

1차 릴리즈 주로 비기능적이고 위험도가 높은 부분을 구현하는 단계인데, 이때 정밀 인스펙션을 해서 아키텍처의 안정성을 검증하고 개발 후반의 시스템 테스트는 주로 비기능적인 요건(성능, 안정성 등)에 대한 성능 테스트가 이루어지는 단계이기 때문에 최종 점검이라는 관점에서 수행

중재자(Moderator) : 인스펙션팀과 개발팀간의 인터페이스 담당, 매니저 역할

리더(Leader ) : 전체 시스템을 이해하여 리더의 방향성에 따라서 인스펙션을 진행

디자이너와 코더(Designer/Coder) : 디자이너가 지시한 방향에 따라서 코드를 검증하고 잠재적인 결함을 발견 및 권장 수정 방안을 만들어 냄

테스터(Tester) : 모듈 테스트 수행, 결함을 찾아내는 역할, 디자이너나 코더가 권장한 수정 코드 안에 대한 검증과 실제 업무 개발자가 수정해온 코드에 대한 검증 작업을 수행

<코드 리뷰 프로세스>

1) 계획 : 기간, 대상, 종료조건등 전체 코드 익스펙션에 대한 계획 수립

2) 오버뷰 : 시스템과 구성 제품 등에 대한 교육, 팀원 간의 역할 정의

3) 준비 : 역할별 필요한 문서 습득 및 이해 그리고 인터뷰 진행, 도구들(테스팅 도구, Profiler, Application Performance Monitoring등)와 독립된 테스트가 요구되는 경우 테스트 환경을 구축

4) 인스펙션 : 결함 발견 및 기록, 기록된 결함은 실업무 개발자에게 전달되어 수정되도록 하고, 필요에 따라 권장 수정안을 저달

5) 재작업 : 보고된 결함을 수정

6) 후처리 : 보고된 모든 결함이 수정되었는지 확인





2) 팀 리뷰 (Team Review)

3) 워크스루 (Walkthrough)

단체로 하는 코드 리뷰 기법 중에서 가장 비정형적인 방법 중의 하나

발표자가 리뷰의 주제와 시간을 정해서 발표를 하고 동료로부터 의견이나 아이디어를 듣는 시간

개발을 위한 프로세스에서 보다는 '버그 사례에 대한 회의' 와 같은 정보 공유 성격에 유리하다.

유일하게 발표자만이 리뷰를 주관하고 발표하는 역할을 가지며, 다른 참여 인원들은 아무런 책임이나 역할을 가지지 않고 자유롭게 의견을 개진한다.

비정기적으로 언제나 개최할 수 있고 일종의 아이디어 회의

4) 피어 리뷰 또는 오버 더 숄더 리뷰(Over the Shoulder Review)

주로 2~3명이 진행하는 코드 리뷰의 형태

5) 패스어라운드(Passaround) : 돌려보기????

작성자가 리뷰를 할 부분을 메일이나 시스템을 통해서 등록하면 참석자들이 메일을 통해서 각자의 의견을 개진하는 방식


* 코드 리뷰용 도구



    • crucible (상용 도구)


블로그 이미지

뚱땡이 우주인

,