한 프로그래머가 작성한 코드를 다른 프로그래머가 함께 검토하는 것을 의미하는 코드리뷰는 결코 형식적인 절차가 아니다. 버그를 미리 잡아내기 위한 것도 아니고, 코딩스타일이나 편집스타일을 강제하기 위한 것도 아니다. 코드리뷰를 수행하면 누구든지 자신이 작성한 코드의 내용을 다른 누군가에게 설명해야 한다. 그러한 설명은 일차적으로 코드를 작성한 사람이 스스로 작성한 코드의 내용을 정확히 이해하게 만들고, 이차적으로 코드를 검토하는 사람이 다른 사람이 작성한 코드의 내용에 친숙해지게 만든다. 그것이 핵심이다. 믿기 어렵겠지만 자기가 작성한 코드의 내용을 충분히 이해하지 못하는 프로그래머가 세상에는 생각보다 많다. 표창던지기 초식이나 베끼기 초식을 구사하는 프로그래머는 물론이고, 정상적인 방법으로 코드를 작성하는 사람조차도 유닛테스트를 작성하지 않거나 코드리뷰를 수행하지 않으면 자기가 작성한 코드의 내용을 순식간에 잊어버린다. 그런 사람들은 코드리뷰를 통해서 누군가에게 자기 코드의 내용을 상세히 설명하는 기회를 갖는다면 도움이 될 것이다. 바둑에서도 방금 두었던 바둑의 내용을 다시 검토하는 복기가 바둑실력을 향상하는 데 큰 도움을 주는 것처럼 프로그래밍에서도 코드리뷰는 많은 도움을 준다.
|
'Archive' 카테고리의 다른 글
정말로 Date를 쓰지않고 Calendar를 써야하는가? (0) | 2011.12.22 |
---|---|
파이썬의 Indentation에 관한 미신들 (0) | 2011.12.03 |
시니어 프로그래머, 행복한 프로그래밍 (2) (0) | 2011.12.03 |
시니어 프로그래머, 행복한 프로그래밍 (1) (0) | 2011.12.03 |
Java에서 디렉토리내의 가장 최근에 수정된 파일 찾기 (0) | 2011.11.20 |