'소프트웨어 개발의 모든 것' 중에서 - 김익환,전규현
------------------------------------------------------------------------
코드 리뷰
테스트를 통해서 소프트웨어의 모든 결함을 찾아낼 수는 없으며, 아키텍처, 코
드 리뷰를 통해서 오류의 상당 부분을 찾아낼 수 있다. 코드 리뷰를 충분히 하지
않으면 수많은 결함들이 테스트에서도 발견되지 않은 상태로 제품이 출시될 것
이다
출시 후에 발견된 결함은 그를 수정하기 위해서 코드 리뷰 때 수정하는 것에
비하여 수백 배의 비용을 치르게 만든다. 철저한 코드 리뷰는 소프트웨어의 품질
을 한 단계 높이고 개발 비용을 절야할 수 있는 좋은 수단이다. 코드 리뷰를 통해
서 오류를 찾아내는 효울은 테스트보다 2배 더 높다는 것이 알려진 사실이다.
코드 리뷰는 조금씩 자주 수행하는 것이 좋다. 소스코드를 소스코드관리시스
템에 체크인하기 전에 리뷰하면 효과적이다. 검토되지 않은 코드는 소스코드관
리시스템에 등록하지 않도록 규칙을 정하는 것이 좋다. 체크인 전의 리뷰는 1, 2
명의 간단한 검토로 리뷰를 마치게 할 수도 있다. 이는 일반적인 대규모 코드리
뷰 희의보다 더 효율적이다.
내가 작성한 소스코드는 항상 검토의 대상이라고 생각하고 코드를 작성하게
된다. 그렇게 하면 항상 회사의 코딩 표준을 지키기 위해서 노력을 하고, 창피한
코드는 작성하지 않으려고 할 것이다. 코드 리뷰 시는 다음과 같은 사항들을 주
의하여야 한다.
ㅁ 너무 많은 개발자가 참여하면 안 된다. 너무 많은 개발자는 코드 리뷰를 어
수선하게 하여 집중할 수 없게 만든다
ㅁ 검토 시에 상대방을 비난하는 투로 말하면 안 된다. 이런 방식은 싸움판만
만들 것이고 개발자들은 더욱 코드 리뷰를 꺼리게 될 것이다
ㅁ 스티.일에 대해서 자기 주장을 강요하지 않는 것이 좋다. 회사의 코딩 표준을
다 따르더라도 각 개발자의 스타일에 따라서 코드를 다르게 작성하는 것이
꽤 될 것이다. 이러한 스타일을 가지고 자신의 스타일과 다르다고 비난하는
것은 시간 낭비일 뿐이다
ㅁ 코드리뷰는 진행자가 전체적인 진행을 조정해야 한다. 그러지 않으면 1시
간 예상한 코드 리뷰가 2, 3시간이 되기 일쑤이고, 전체 코드를 점검하지도
못하게 된다. 또는 코드 리뷰가 이상한 방향으로 흘러서 코드를 공유하고 개
선하는 데는 별로 도움이 안되기도 한다
ㅁ 가능하면 코드 리뷰 전에 코드를 읽어보고 들어오는 것이 좋다. 짧은 시간에
남의 코드를 모두 이해하는 것은 쉽지 않다
ㅁ Syntax를 코드 리뷰 시간에 의논하는 것은 시간낭비다. Syntax는 점검은 정
적분석기를 이용하면 된다. 코드 리뷰시간에는 코드의 의미, 구조와 같이 가
치 있는 리뷰를 해라.
코드 리뷰는 대단히 기술적인 작업이다. 뛰어나고 숙련된 개발자가 코드 리뷰
경험이 많을 경우에만 능숙하게 할 수 있다. 별 준비 없이 그냥 나란히 같이 앉아
서 소스코드를 보는 것이라면 안 하는 것보다야 훨씬 낫겠지만, 효율은 상당히
띨어질 것이다. 따라서 코드 리뷰 시에 무엇을 위주로 점검해야 하는지 체크리스
트를 만들어서 암기하고 있으면 상당히 도움이 된다.
----------------------------------------------------------------------------
'Programming' 카테고리의 다른 글
[펌] ASCII & Vitual Key Code- keybd_event() bScanCode설명포함 (4) | 2013.11.29 |
---|---|
[펌] Winsock(소켓)설명_좋음 (0) | 2013.08.09 |
UML - Class Diagram 관계 샘플(좋음) (0) | 2013.07.26 |