tip-archive icon indicating copy to clipboard operation
tip-archive copied to clipboard

Code Review에 대한 정리

Open JaeYeopHan opened this issue 6 years ago • 11 comments

코드 리뷰(Code Review)

What?

코드 리뷰란 무엇인가

'코드 리뷰'란 말 그대로 자신이 작성한 코드에 대해 다른 개발자를 리뷰어로 지정하고 리뷰를 받는 것을 말한다. pre-commit review , post-commit reivew 등, 많은 리뷰 종류들이 존재하지만, 여기에서는 post-commit reveiw에 대해 이야기하고자 한다.

Why?

코드 리뷰는 왜 해야 하는가

  1. 프로젝트의 코드 품질
  2. reviewee와 reviewer의 성장
  3. 인수 인계의 장벽을 낮출 수 있다.
  4. 팀이니까.

개인적인 의견

사실, 코드 리뷰는 성숙한 개발 조직의 문화라고 생각한다. '문화'란 특별한 이유없이 구성원이 모두 동의했을 때, 그것을 문화라고 한다. 왜 해야 하냐고 묻는다면, 팀을 구성하고 있는 조직원들의 가치관이 다르다고 생각된다.

코드 리뷰는 성장하고자 하는 개발자의 권리라고 생각한다. 조직으로부터 권리를 보장받을 수 있어야 한다고 생각한다.

How?

코드 리뷰는 어떻게 해야 하는가

GitHub || OSS

  • Pull Request를 통한 리뷰를 진행한다.
  • reviewer를 지정하며, 각 line에 comment를 추가한다.
  • Approve,

Git-Flow 기반의 코드리뷰

  • master branch
    • release를 위한 branch
  • develop branch
    • 개발 과정 통합을 위한 branch
  • feature/*** branch
    • feature 단위 실 개발을 위한 branch
  • Pull Request 추가
  • rebase or pull 로 sync 맞추기

=> 각 branch의 merge 단계에서 실시

GitHub-Flow 기반의 코드리뷰

  • Fork repository
  • 작업 branch 에서 개발 진행
  • Pull Request 추가
  • rebase or pull 로 sync 맞추기

=> 각 branch의 merge 단계에서 실시

Code review Flow

  • 많은 규칙이 있으면 번거롭기 때문에 필요한 규칙만 정한다.
  • feature/***/ --> develop` merge 시 Pull Request를 통해 리뷰를 요청한다.

When?

코드 리뷰는 언제 해야 하는가

  • Issue 단위로 Pull Request를 올린다(?)

Who?

코드 리뷰는 누가 요청하며 누가 하는가

  • 같은 프로젝트, 같은 성격을 갖고 있는 프로젝트를 진행하고 있는 개발자
  • 주니어가 시니어에게 또는 시니어 또한 주니어에게
  • 프로젝트 성격에 따라 리뷰어를 지정하여 진행한다.

JFYI

읽어보면 좋은 자료

JaeYeopHan avatar Apr 24 '18 01:04 JaeYeopHan