read
SmartBear 라는 회사에서 무료로 배송해주고 있는 책이다. 이 회사는 Code Collaborator 라는 코드리뷰 툴을 만드는 회사인데, 책을 통해 코드리뷰의 특성들을 논의하면서 마지막 챕터에 제품 홍보를 하고 있다. 홍보라고는 해도 다른 챕터에서는 코드리뷰의 속성들을 학문적으로 접근하여 밝혀주고 있기 때문에 상당히 재밌게 읽었다.
가장 흥미로웠던 부분은 코드리뷰에 대한 문헌들이다. 코드리뷰에 대한 다양한 연구 결과를 바탕으로 효율적인 실행을 위해 어떤 점들을 주목해야 하는지 말해준다. 이 중 몇가지 재밌는 결과들을 옮겨와 보자면,
- 테스팅/QA 로 찾아낼 수 없는 버그들을 코드리뷰를 통해 찾을 수 있다.
- 코드 리뷰 시간은 최대 한시간 정도가 적당하다.
- 많은 버그들을 찾아내려면, 맨 처음 코드를 읽을 때 천천히 신중하게 읽어라.
- Inspection meeting 이 반드시 직접 만나서 해야 될 필요는 없다. Inspection meeting 은 버그를 찾아내는 데 크게 도움을 주지 못한다.
- 자주 저지르는 실수들에 대해 Checklist 를 만들어 관리하라.
이 들 각각에 대한 문헌들을 소개하며, 왜 그런 결과를 얻었는지 보여준다. Smartbear.com 에 가면 몇몇 챕터를 pdf 로 공개해 두었는데, 몇개를 옮겨와보자면,
- Five Types of Review
- Brand New Information
- Code Review at Cisco Systems
- Social Effects of Peer Review
senior 개발자로 넘어가기 위해 좋은 코드리뷰 스킬은 반드시 익혀두어야 하는 것이다. 코드리뷰는 리뷰를 받는 사람 뿐만 아니라, 리뷰를 해주는 사람에게도 배움의 기회를 제공하기 때문이다. 하지만 안타깝게도 그 과정에서 개선사항을 위해 어떤것들을 측정해야하는지 명확하지 않다. 코드리뷰 자체가 인간에 의한 워크플로이기 때문이다. 이 책은 대충이나마 ‘보다 나은 코드리뷰’에 대한 길을 비춰주고 있어 한번 읽어볼 만한 가치가 있다.
(위 이미지를 클릭하면 책을 리뷰하며 만든 비지오 다이어 그램을 볼 수 있다. 비지오가 설치되어 있지 않은 경우, 여기에서 뷰어를 다운로드 받을 수 있다.)