25. 사실 코드리뷰는...
● Pair Programming
의 일종.
○ COOPERATION
○ 하지만 실시간으로 여
러명이 붙어서 작업할
필요가 없다.
○ 시간날 때 코드를 올
리고, 시간날 때 리뷰
하면 된다.
26. 코드 리뷰에 대한 오해
● 코드 리뷰는 사람이 남아도는 프로젝트에만
적합한거 아닌가요?
○ 사람 남아도는 프로젝트. 그런거 업따.
○ 서로 다른 의견을 가진 사람이 리뷰할수 있기만 하면
됨.
○ 2명만 있어도 할 수 있다.
27. 코드 리뷰에 대한 오해
● 코드 리뷰는 초천재 미소년/미소녀만 할 수 있
는거 아닌가요?
○ 지금 당신이 바로 초천재 미소년/미소녀!!
○ 못 알아보는 부분이라도 마킹해보자.
○ 앞에서도 말했지만 코드리뷰의 목적은 잘못한 부분을
찾는 것이 아니라 COOPERATION.
28. 코드 리뷰를 하는 법
● 어렵지 않아요.
○ Re(다시, 다르게)
○ View(살펴본다)
29. 사실 여러분은 코드 리뷰를 이
미 하고 있습니다.
● 버그 잡을 때
○ 버그가 있다고 생각하지 않았을 때 코드를 바라보는
관점
○ 버그가 있다고 생각하고 코드를 바라보는 관점
● 사실 관점을 다르게 볼 수 있다면 혼자서도 코
드 리뷰가 가능
● 하지만 다중인격의 소유자가 아닌 이상, 2명
이상 같이 하는게 좋습니다.
30. 코드 리뷰에 대한 오해
● 후다닥 처리해야 하는데 리뷰하면 시간만 까
먹는거 아네요?
○ 그러다가 된통 얻어맏고 야근야근 열매 섭취.
○ 코드 리뷰에 투자하는 시간은 결코 배신하지 않습니
다.
33. Mondrian
● Written by Guido
van Rossum
● Written with Python
● Announced in 2006
● Integrated with
Perforce
● Hosted and Used at
Google Internal
34. RietVeld
● Written by Guido van
Rossum
● Written with Python
● Announced in 2008
● Integrated with
Subversion
● Host on Google Ap
Engine
● Used by Chrome
Project
35. Gerrit
● Gerrit (2008 - 2012)
○ fork from Rietveld
○ add Access Control
List feature
○ Written by Sean O.
Pearce
● Gerrit2 (2008 - )
○ Rewritten Gerrit with
JavaEE
○ Written by Sean O.
Pearce
36. Gerrit의 특징
● 여러가지 환경에서 운영 가능
○ jvm이 설치되어 있으면 PC에서도 운영 가능
○ 표준 servlet container 지원
● 여러가지 인증 방식 지원
○ http/ldap/openid
● 여러가지 database 지원
○ mysql/pgsql/h2
41. Gerrit Detailed Workflow
push commit to
refs/for/branch
gerrit notify
reviewers
& verifiers
Online
code quality
review
IP
Review
Build
Comments
& Votes
Run testcases
improves the
change
merge the change
into master
abandons
the change
change
approved
change not
approved
flow from http://goo.gl/Kwcxo
44. What's Next?
● Search Slide about Gerrit in SlideShare!
○ How Git and Gerrit make you more productive?
● Leaning git branch
● Why Git is Better then Mercurial?
● ProGit
● Repo 써보기
● Eclipse Mylyn Reviews