JaeYeopHan / tip-archive

📦 Archiving various development tips. If you watch this repository, you can get issues related to the newly registered development tip from the GitHub feed.
https://www.facebook.com/Jbee.dev/
245 stars 8 forks source link

Code Review에 대한 정리 #13

Open JaeYeopHan opened 6 years ago

JaeYeopHan commented 6 years ago

코드 리뷰(Code Review)

What?

코드 리뷰란 무엇인가

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

Why?

코드 리뷰는 왜 해야 하는가

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

개인적인 의견

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

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

How?

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

GitHub || OSS

Git-Flow 기반의 코드리뷰

GitHub-Flow 기반의 코드리뷰

Code review Flow

When?

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

Who?

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

JFYI

읽어보면 좋은 자료

JaeYeopHan commented 6 years ago

Pull Request checkout 하는 방법

  1. 다음과 같이 git config 를 추가해준다.

    $ git config --add remote.origin.fetch "+refs/pull/*/head:refs/remotes/origin/pr/*"

    fetch라는 command로 가져올 때, origin 뿐만 아니라 pull request도 포함하여 가져올 수 있도록한다.

  2. 다음 명령어를 수행해준다.

    $ git fetch origin
    $ git checkout pr/[PR number]
JaeYeopHan commented 6 years ago

발생 가능한 문제들

리뷰로 인한 병목은 어떻게 해결할 것인가?

지속적인 리뷰는 어떻게 가능할까?

taihoon commented 5 years ago

commit 별로 코드리뷰 할 수는 없나요?

JaeYeopHan commented 5 years ago

@kishu Bitbucket에서는 commit-level code review를 지원하고 있는 것 같습니다. https://www.atlassian.com/blog/bitbucket/new-features-bitbucket-4-8

commit-level code review가 가능하려면 의미있는 단위로 commit을 잘하는게 선행되야겠네요!

JaeYeopHan commented 5 years ago

GitLab은 어떻게 코드리뷰를 하는가?

https://docs.gitlab.com/ee/development/code_review.html

시간날 때 번역글 쓰기

JaeYeopHan commented 5 years ago

comment를 남길 때는 reviewee가 해당 comment를 반영했을 때, outdated로 collapsed 될 수 있도록 적절한 line에 남긴다.

taihoon commented 5 years ago

https://trunkbaseddevelopment.com/

JaeYeopHan commented 5 years ago

https://engineering.linecorp.com/ko/blog/effective-codereview/

JaeYeopHan commented 5 years ago

https://cimfalab.github.io/deepscan/2016/08/code-review-1

JaeYeopHan commented 5 years ago

https://github.com/joho/awesome-code-review

JaeYeopHan commented 4 years ago

구글에서 작성한 코드리뷰 가이드라인 https://soojin.ro/review