깃헙으로 코드리뷰 하기 (Using github for code reviews)


발생일: 2012.10.29

문제:
최근, 팀에 새로운 분들이 많아지면서, 팀 내 코드 리뷰 미팅도 부쩍 많아졌다.

우리 팀에서는 주로 아래와 같은 방법으로 코드 리뷰를 진행한다.
  1. 리뷰받을 사람이 미팅을 요청하고, 시간이 되는 사람들이 참석한다.
  2. 회의실에 모여서, 리뷰받는 사람이 작성한 코드에 대해 설명한다.
  3. 설명 중간 중간 참가한 사람들이 해당 코드에 대해 질문하고 의견을 준다.


이렇게 하는 방식은 "여러 사람들의 의견을 들어볼 수 있다"는 게 가장 큰 장점인 것 같다.

하지만, 리뷰에 참여한 사람이 많다보니,
  - 리뷰가 코드에 대한 논쟁으로 진행되거나,
  - 컨벤션 지적질이 되거나,
  - 아무 말도 안하는 사람도 생기게 되고,
  - "잠깐 잠깐 저기요. 아뇨. 아래아래. 아 거기." 이런 식의,
     코드 찾기 대화로 시간이 보내게 되는 등
의 단점도 있다.

그리고 무엇보다,
  - 리뷰에 들어가기 전에는 리뷰할 코드에 대해 자세히 보지 못하고,
  - 리뷰받는 사람이 설명하더라도 코드를 꼼꼼히 따라갈 수 없어서,
리뷰해줄 수 있는 범위에 한계가 있다 생각한다.


나는 코드를 직접 보면서 라인 단위로 리뷰해주거나 받는 걸 좋아하는데, (좀 덜 부끄럽기도 하고. ㅎㅎㅎ)
이 방법이 미팅 형태의 리뷰 방식의 단점을 해결해줄 수 있다고 생각한다.

사내에서 이런 코드 리뷰 툴을 제공해주면 좋은데 아직은 지원해주는 게 없고,
또 무료로 사용할 수 있을 만한 쓸만한 코드 리뷰 툴을 찾지 못해,
지금까지는 코드에 직접 리뷰 검색어를 달은 주석을 넣어서 다시 보내주는 식으로 진행했었다.

예) // [리뷰] <-- 이렇게 리뷰 부분을 쉽게 검색할 수 있게 리뷰 검색어를 단다.
     // 리뷰 내용~ 이거는 어쩌고, 저거는 어쩌고~


(내가 잘 찾지 못한 게 분명하겠지만,)
라인 단위의 리뷰를 제공하는 코드 리뷰 툴을 검색해보면,
로컬에 설치해야 하거나 유료인 경우가 많고, 언뜻 봐도 뭔가 어렵게 생겨서 막상 시도하기도 어려웠었다.


그러다, 깃헙을 쓰게 되면서,
Fork - Pull Requests 하는 과정을 코드 리뷰 용도로 사용해도 되겠구나~~ 하는 생각을 했다.
사실 이 프로세스 자체가 자연스럽게 리뷰를 포함하고 있는 것이긴 하지만,
굳이 교육의 용도로 '리뷰 툴'로 쓰자하면 아주 쉽게 사용할 수도 있을 것 같았다.

검색해보니, 실제로 코드 리뷰 용도로 깃헙을 사용하는 예도 많았다.
이 방법을 어떻게 쉽게 전달할 지에 대해 고민해봤다.


해결책:
깃헙으로 코드리뷰 하기에 대해 쉽게 설명하려고,
샘플 리파지터리를 하나 만들었다.

덧)
깃헙(Github)을 쓸 때마다 느끼는 거지만,
얘네들 Fork- Pull Requests는 프로세스는 정말  깔끔하게 잘 만든 것 같다.
매우 훌륭하다~~


2012.11.01 추가
  - 위 내용으로 랩 세미나에 발표했다.


카테고리

분류 전체보기 (710)
About me. (6)
Daylogs (675)
영어공부 (0)
My works - 추억 (29)
비공개 (0)