0. 개요
코드리뷰란 한 명 또는 여러 명의 개발자가 보인이 만들지 않은 코드의 내용을 점검하고, 피드백을 해주는 과정을 말한다. 여기에서 피드백이란, 오타, 버그 가능성, 개발 표준 등에 대한 의견이 될 수 있고, 좋은 코드에 대한 긍정적인 피드백이 될 수도 있습니다.
1. 효율적인 리뷰
1) 즉시 시작하는 리뷰
- 코드 리뷰를 우선순위
- 리뷰를 바로 시작하면 선순환
- 리뷰 라운드의 최대 시간은 하루
- Agile pull requests by Mark seemann
2) 고수준에서 저수준
- 리뷰 라운드에서 많은 의견을 남길수록, 저자가 당황할 위험이 커짐
- 하나의 라운드에서 20~50개 정도의 의견을 위험의 시작
3) 예제 코드 제공에 관대해라
- 너무 긴 예제는 억암
- 라운드당 2~3개의 코드예제로 제한
4) 리뷰의 범위를 존중
5) 태그를 활용
6) 한 번에 1~2등급만 코드레벨을 올리는 것을 목표로
- D 등급의 PR을 받으면 저자가 C~B 등급을 받도록 도와라
- 완전하지는 않아도 충분히 좋은코드가 되도록
- F: 기능적으로 틀렸거나, 너무 복잡해서 정합성에 확신이 없는 상태
- 승인을 보류하는 유일한 이유: 수 차례의 리뷰 라운드 후에도 코드가 F상태인 경우
2. 코드리뷰의 효과
- 예상하지 못한 버그를 다른 프로젝트에서 발견하기도 한다.
- 시간이 지나면 빛을 발한다.
- 다른사람들에게 설명할 수 있는 수준으로 코드를 다듬게 되며 좋은 코드로 개선
- 좋은 설계 아키텍쳐, 클린코드, TDD등에 대한 공감대/ 열정형성
3. 결론
- 결국 코드리뷰란 더 좋은 개발을 위한 활동이다. 어떤 원칙사용하여 코드리뷰를 한다기 보단
어떻게 해야 진행중인 프로젝트와 맞는 아키텍처를 선택했는지 작성된 코드보다 더 개선된 방법은 없는지 등 결국 더 좋은 결과물을 향해가는 여정인 것이다.