Part III 프로세스
CHAPTER 9 코드 리뷰
코드 리뷰는 작성자 이외에 사람이 코드를 검토하는 프로세스로 주로 코드를 코드베이스에 반영하기 전에 수행한다
코드리뷰는 버그가 코드베이스로 침투하기 전에 잡아 낸다.
코드 리뷰 흐름
변경을 코드에 커밋하기 전에 리뷰 하는데 이 단계를 프리커밋 리뷰라고 한다
코드 리뷰 @ 구글
구글에서 어떤 변경이든 승인을 얻으려면 세 가지 측면 리뷰를 통과해야 한다
- 다른 엔지니어로부터 정확성과 이해 용이성을 평가 받는다
- 변경되는 코드영역을 관리하는 코드 소유자로 부터 변경 코드가 적절하다는 승인을 받는다
- 누군가로 부터 가독성 승인을 받습니다
코드 리뷰의 이점
- 코드가 정확한지 확인
- 일반적으로 변경 작성자가 선택한 방식을 존중해 준다
- 정확성을 검사하는 유일한 수단이 아니라서 완벽까진 필요없다
- 변경된 코드를 다른 엔지니어도 잘 이해(코드 이해 용의성)
- 변경을 살펴 볼수 있는 첫번째 기회
- 코드 베이스가 일관됨(코드 일관성)
- 너무 복잡해지면 안됨
- 해당 프로그래밍 언어의 모범 사례들을 잘 따라야 된다
- 구글 코드 리포지토리에서 같은 언어로 작성된 다른 코드와 일관성을 유지해야 한다
- 필요 이상 복잡하지 않아야 된다
- 팀이 소유권을 더 강하게 느낍(심리적, 문화적이점)
- 지식이 공유
- 코드 리뷰 자체의 기록이 남음
코드 리뷰 모범 사례
- 공손하고 전문가 답게
- 작게 변경하기
- 변경 설명 잘쓰기
- 리뷰어는 최소환으로
- 가능한 한 자동화하기
코드 리뷰 유형
- 그린필드 코드리뷰
- 새로운 코드를 추가할 때
- 동작변경 개선 최적화
- 버그 수정과 롤백
- 리팩터링과 대규모 변경