본 문서는 google code review guide를 보고 요약한 글 입니다.

01. Introduction

코드 리뷰는 코드 작성자가 아닌 사람이 해당 코드를 검사하는 프로세스입니다. 특히 google은 코드 리뷰를 통해 코드와 제품의 품질을 유지한다고 합니다.

1. Code를 리뷰하는 사람들은 어떤것을 중점적으로 살펴야하는가

  • 디자인(Design): 코드가 잘 설계되어 있고 시스템에 적합한가?
  • 기능성(Functionality): 코드가 작성자의 의도대로 동작하는가?
  • 복잡성(Complexity): 코드가 더 간단히 작성될 수 있는가? 다른 개발자가 코드를 쉽게 이해하고 사용 할 수 있는가?
  • 테스트(Tests): 코드에 정확하고 잘 설계된 자동 테스트가 있는가?
  • 이름짓기(Naming): 개발자가 변수, 클래스, 메소드(함수)등에 명확한 이름을 선택했는가?
  • 주석(Comments): 주석이 명확하고 유용한가?
  • 스타일(Style): 코드가 스타일 가이드를 따르는가?
    • 위의 링크는 google 스타일 가이드로 연결되지만, 각 조직의 스타일 가이드를 뜻한다고 봐도 무방합니다.
  • 문서화(Documentation): 개발자가 관련문서를 작성하거나 적절하게 업데이트 하였는가?

2. 좋은 리뷰어 정하기

보통 합리적인 기간안에 리뷰에 응답할 수 있는 좋은 리뷰어를 찾고싶어합니다.

가장 좋은 리뷰어는 작성하는 코드에 대해 가장 철저하고 정확한 리뷰를 제공할 수 있는 사람입니다. 아마 일반적으로 코드작성에 관여된 사람이거나, github OWNERS 파일에 있는 사람일 수도 있습니다. 때로는 변경리스트(CL; change list)의 다른 부분을 다른 사람들에게 검토하도록 요청하는 것을 의미하기도 합니다.

좋은 리뷰어를 찾았지만 코드에 대해 리뷰가 불가능할 수도 있습니다. 그럴때는 적어도 참조(CC)를 통해 코드의 변화를 알려줄 수 있습니다.

TIP

변경 리스트(CL)는 각 commit 단위로 이해하면 좋을 것 같습니다. git-cl를 참고하세요.

3. In-person 리뷰

좋은 리뷰어와 페어 프로그래밍을 하면 해당 코드가 검토된 것으로 간주합니다.

또한 리뷰어가 질문하고 개발자가 대답만 하는 직접 코드검토를 수행할 수도 있습니다.