Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
코드 리뷰 시스템
소개
발표자 소개
● 오픈소스를 수정해서 밥벌어 먹습니다.
● 주로 임베디드 기기에서 사용되는 소프트웨
어를 개발합니다.
○ PC나 서버가 아닌 기기용 소프트웨어
○ 아파트, 지하철 충전기, 광고 패널, 티켓 발권기, 셋탑
...
안드로이드 커밋 통계
정말로 구글러들은 외계인?
과연 그들은
고문
당하고 있는 거신가?
Guido Van Rossum
● Creator of Python
● 한때 구글러
○ 2005 - 2012
● 지금은
Dropbox에
Drop 되었습니다.
Guido할아부지의 첫번째 미션
Mondrian이라는
코드 리뷰 시스템
을 만들었더랬죠.
코드 리뷰 시스템
코드 리뷰의 목적
It is intended to find and fix
MISTACKES overlooked.
defined in Wikipedia
코드 리뷰의 목적
Goal is COOPERATION,
not fault-finding.
Guido van Rossum
협력
코드 리뷰의 목적
Cooperation
Fault-finding
● 뭔가 좋은거 같긴 한데
● 쓰이는데가 별로 없는 것 같애요.
코드 리뷰 시스템을 도입못하
는 이유 (1)
그게 뭐하는 거임?
코드 리뷰 시스템을 도입못하
는 이유 (2)
그걸 하느니 그 시간에
코드 한줄 더 짜겠심.
코드 리뷰 시스템을 도입못하
는 이유 (3)
내가 뭘 하는지도 모르
겠는데, 남의 걸 어떻게
봐줌?
Why?
귀찮아 죽겠는데 왜 저런걸 써
라는 거지?
모두가 원하는 상황
하지만 현실은 시궁창.
코드 리뷰 시스템
코드 리뷰 시스템
코드 리뷰 도입시 얻을 수 있
는 효과
● 버그 개수 감소
● 팀원의 트레이닝 도구로 활용
● 코드 가독성 증가 및 품질 상승
● 코드 세부 구현사항에 대한 기록 보존
● 팀 역량 상향평준화
● 디버깅 시간 및 프로젝트...
놀라운 효과!!!
놀라운 효과!!!!!!
사실 코드리뷰는...
● Pair Programming
의 일종.
○ COOPERATION
○ 하지만 실시간으로 여
러명이 붙어서 작업할
필요가 없다.
○ 시간날 때 코드를 올
리고, 시간날 때 리뷰
하면 된다.
코드 리뷰에 대한 오해
● 코드 리뷰는 사람이 남아도는 프로젝트에만
적합한거 아닌가요?
○ 사람 남아도는 프로젝트. 그런거 업따.
○ 서로 다른 의견을 가진 사람이 리뷰할수 있기만 하면
됨.
○ 2명만 있어도 할 수 있...
코드 리뷰에 대한 오해
● 코드 리뷰는 초천재 미소년/미소녀만 할 수 있
는거 아닌가요?
○ 지금 당신이 바로 초천재 미소년/미소녀!!
○ 못 알아보는 부분이라도 마킹해보자.
○ 앞에서도 말했지만 코드리뷰의 목적은 잘못...
코드 리뷰를 하는 법
● 어렵지 않아요.
○ Re(다시, 다르게)
○ View(살펴본다)
사실 여러분은 코드 리뷰를 이
미 하고 있습니다.
● 버그 잡을 때
○ 버그가 있다고 생각하지 않았을 때 코드를 바라보는
관점
○ 버그가 있다고 생각하고 코드를 바라보는 관점
● 사실 관점을 다르게 볼 수 있다면 혼자서...
코드 리뷰에 대한 오해
● 후다닥 처리해야 하는데 리뷰하면 시간만 까
먹는거 아네요?
○ 그러다가 된통 얻어맏고 야근야근 열매 섭취.
○ 코드 리뷰에 투자하는 시간은 결코 배신하지 않습니
다.
Gerrit
잠시 살펴보는 Gerrit의 족보
Mondrian
● Written by Guido
van Rossum
● Written with Python
● Announced in 2006
● Integrated with
Perforce
● Hosted and U...
RietVeld
● Written by Guido van
Rossum
● Written with Python
● Announced in 2008
● Integrated with
Subversion
● Host on Go...
Gerrit
● Gerrit (2008 - 2012)
○ fork from Rietveld
○ add Access Control
List feature
○ Written by Sean O.
Pearce
● Gerrit2...
Gerrit의 특징
● 여러가지 환경에서 운영 가능
○ jvm이 설치되어 있으면 PC에서도 운영 가능
○ 표준 servlet container 지원
● 여러가지 인증 방식 지원
○ http/ldap/openid
● 여러...
Gerrit의 기능
● 소스 리뷰 게시판
● Access Control List
● Git 저장소
Gerrit의 인터페이스
● for Human
○ WEB
● for External Integration
○ ssh
■ git
■ gerrit
○ Rest API
DVCS(Hg, Git) Workflow
Remote
Repository
User1's
Local
Repository
fetch
push
pull request
commit
merge
rebase
User2's
Loca...
Gerrit Workflow
Remote Git
RepositoryUser1's
Local Git
Repository
fetch
push
commit
merge
rebase
User2's
Local Git
Reposit...
Gerrit Detailed Workflow
push commit to
refs/for/branch
gerrit notify
reviewers
& verifiers
Online
code quality
review
IP
...
Gerrit + Eclipse
● Mylyn Gerrit Connector
● Mylyn Reviews
DEMO
What's Next?
● Search Slide about Gerrit in SlideShare!
○ How Git and Gerrit make you more productive?
● Leaning git branc...
● http://goo.gl/Z3mWx
코드 리뷰 시스템 소개
Upcoming SlideShare
Loading in …5
×

코드 리뷰 시스템 소개

7,604 views

Published on

Published in: Software
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ,Download or read Ebooks here ... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

코드 리뷰 시스템 소개

  1. 1. 코드 리뷰 시스템 소개
  2. 2. 발표자 소개 ● 오픈소스를 수정해서 밥벌어 먹습니다. ● 주로 임베디드 기기에서 사용되는 소프트웨 어를 개발합니다. ○ PC나 서버가 아닌 기기용 소프트웨어 ○ 아파트, 지하철 충전기, 광고 패널, 티켓 발권기, 셋탑 박스, 교육용 로봇, 집 전화기, 휴대폰, 자동차, 기타 등등 ● 제작년부터 코드리뷰 시스템을 써보게 되었 습니다.
  3. 3. 안드로이드 커밋 통계
  4. 4. 정말로 구글러들은 외계인? 과연 그들은 고문 당하고 있는 거신가?
  5. 5. Guido Van Rossum ● Creator of Python ● 한때 구글러 ○ 2005 - 2012 ● 지금은 Dropbox에 Drop 되었습니다.
  6. 6. Guido할아부지의 첫번째 미션 Mondrian이라는 코드 리뷰 시스템 을 만들었더랬죠.
  7. 7. 코드 리뷰 시스템
  8. 8. 코드 리뷰의 목적 It is intended to find and fix MISTACKES overlooked. defined in Wikipedia
  9. 9. 코드 리뷰의 목적 Goal is COOPERATION, not fault-finding. Guido van Rossum
  10. 10. 협력 코드 리뷰의 목적
  11. 11. Cooperation Fault-finding
  12. 12. ● 뭔가 좋은거 같긴 한데 ● 쓰이는데가 별로 없는 것 같애요.
  13. 13. 코드 리뷰 시스템을 도입못하 는 이유 (1) 그게 뭐하는 거임?
  14. 14. 코드 리뷰 시스템을 도입못하 는 이유 (2) 그걸 하느니 그 시간에 코드 한줄 더 짜겠심.
  15. 15. 코드 리뷰 시스템을 도입못하 는 이유 (3) 내가 뭘 하는지도 모르 겠는데, 남의 걸 어떻게 봐줌?
  16. 16. Why? 귀찮아 죽겠는데 왜 저런걸 써 라는 거지?
  17. 17. 모두가 원하는 상황
  18. 18. 하지만 현실은 시궁창.
  19. 19. 코드 리뷰 시스템
  20. 20. 코드 리뷰 시스템
  21. 21. 코드 리뷰 도입시 얻을 수 있 는 효과 ● 버그 개수 감소 ● 팀원의 트레이닝 도구로 활용 ● 코드 가독성 증가 및 품질 상승 ● 코드 세부 구현사항에 대한 기록 보존 ● 팀 역량 상향평준화 ● 디버깅 시간 및 프로젝트 수행 기간 단축
  22. 22. 놀라운 효과!!!
  23. 23. 놀라운 효과!!!!!!
  24. 24. 사실 코드리뷰는... ● Pair Programming 의 일종. ○ COOPERATION ○ 하지만 실시간으로 여 러명이 붙어서 작업할 필요가 없다. ○ 시간날 때 코드를 올 리고, 시간날 때 리뷰 하면 된다.
  25. 25. 코드 리뷰에 대한 오해 ● 코드 리뷰는 사람이 남아도는 프로젝트에만 적합한거 아닌가요? ○ 사람 남아도는 프로젝트. 그런거 업따. ○ 서로 다른 의견을 가진 사람이 리뷰할수 있기만 하면 됨. ○ 2명만 있어도 할 수 있다.
  26. 26. 코드 리뷰에 대한 오해 ● 코드 리뷰는 초천재 미소년/미소녀만 할 수 있 는거 아닌가요? ○ 지금 당신이 바로 초천재 미소년/미소녀!! ○ 못 알아보는 부분이라도 마킹해보자. ○ 앞에서도 말했지만 코드리뷰의 목적은 잘못한 부분을 찾는 것이 아니라 COOPERATION.
  27. 27. 코드 리뷰를 하는 법 ● 어렵지 않아요. ○ Re(다시, 다르게) ○ View(살펴본다)
  28. 28. 사실 여러분은 코드 리뷰를 이 미 하고 있습니다. ● 버그 잡을 때 ○ 버그가 있다고 생각하지 않았을 때 코드를 바라보는 관점 ○ 버그가 있다고 생각하고 코드를 바라보는 관점 ● 사실 관점을 다르게 볼 수 있다면 혼자서도 코 드 리뷰가 가능 ● 하지만 다중인격의 소유자가 아닌 이상, 2명 이상 같이 하는게 좋습니다.
  29. 29. 코드 리뷰에 대한 오해 ● 후다닥 처리해야 하는데 리뷰하면 시간만 까 먹는거 아네요? ○ 그러다가 된통 얻어맏고 야근야근 열매 섭취. ○ 코드 리뷰에 투자하는 시간은 결코 배신하지 않습니 다.
  30. 30. Gerrit
  31. 31. 잠시 살펴보는 Gerrit의 족보
  32. 32. Mondrian ● Written by Guido van Rossum ● Written with Python ● Announced in 2006 ● Integrated with Perforce ● Hosted and Used at Google Internal
  33. 33. RietVeld ● Written by Guido van Rossum ● Written with Python ● Announced in 2008 ● Integrated with Subversion ● Host on Google Ap Engine ● Used by Chrome Project
  34. 34. 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
  35. 35. Gerrit의 특징 ● 여러가지 환경에서 운영 가능 ○ jvm이 설치되어 있으면 PC에서도 운영 가능 ○ 표준 servlet container 지원 ● 여러가지 인증 방식 지원 ○ http/ldap/openid ● 여러가지 database 지원 ○ mysql/pgsql/h2
  36. 36. Gerrit의 기능 ● 소스 리뷰 게시판 ● Access Control List ● Git 저장소
  37. 37. Gerrit의 인터페이스 ● for Human ○ WEB ● for External Integration ○ ssh ■ git ■ gerrit ○ Rest API
  38. 38. DVCS(Hg, Git) Workflow Remote Repository User1's Local Repository fetch push pull request commit merge rebase User2's Local Repository fetch push pull request commit merge rebase
  39. 39. Gerrit Workflow Remote Git RepositoryUser1's Local Git Repository fetch push commit merge rebase User2's Local Git Repository fetch push commit merge rebase Pending Commit Merge Gerrit
  40. 40. 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
  41. 41. Gerrit + Eclipse ● Mylyn Gerrit Connector ● Mylyn Reviews
  42. 42. DEMO
  43. 43. 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
  44. 44. ● http://goo.gl/Z3mWx

×