CHAPTER 9 코드 리뷰

Part III 프로세스

CHAPTER 9 코드 리뷰

코드 리뷰는 작성자 이외에 사람이 코드를 검토하는 프로세스로 주로 코드를 코드베이스에 반영하기 전에 수행한다

코드리뷰는 버그가 코드베이스로 침투하기 전에 잡아 낸다.

코드 리뷰 흐름

변경을 코드에 커밋하기 전에 리뷰 하는데 이 단계를 프리커밋 리뷰라고 한다

코드 리뷰 @ 구글

구글에서 어떤 변경이든 승인을 얻으려면 세 가지 측면 리뷰를 통과해야 한다

  • 다른 엔지니어로부터 정확성과 이해 용이성을 평가 받는다
  • 변경되는 코드영역을 관리하는 코드 소유자로 부터 변경 코드가 적절하다는 승인을 받는다
  • 누군가로 부터 가독성 승인을 받습니다

코드 리뷰의 이점

  • 코드가 정확한지 확인
    • 일반적으로 변경 작성자가 선택한 방식을 존중해 준다
    • 정확성을 검사하는 유일한 수단이 아니라서 완벽까진 필요없다
  • 변경된 코드를 다른 엔지니어도 잘 이해(코드 이해 용의성)
    • 변경을 살펴 볼수 있는 첫번째 기회
  • 코드 베이스가 일관됨(코드 일관성)
    • 너무 복잡해지면 안됨
    • 해당 프로그래밍 언어의 모범 사례들을 잘 따라야 된다
    • 구글 코드 리포지토리에서 같은 언어로 작성된 다른 코드와 일관성을 유지해야 한다
    • 필요 이상 복잡하지 않아야 된다
  • 팀이 소유권을 더 강하게 느낍(심리적, 문화적이점)
  • 지식이 공유
  • 코드 리뷰 자체의 기록이 남음

코드 리뷰 모범 사례

  • 공손하고 전문가 답게
  • 작게 변경하기
  • 변경 설명 잘쓰기
  • 리뷰어는 최소환으로
  • 가능한 한 자동화하기

코드 리뷰 유형

  • 그린필드 코드리뷰
    • 새로운 코드를 추가할 때
  • 동작변경 개선 최적화
  • 버그 수정과 롤백
  • 리팩터링과 대규모 변경

참조