SlideShare a Scribd company logo
코드 리뷰 시스템의 도입

                NCsoft
                임영기
   javawork93@gmail.com

           주체 : 온라인 서버 개발자 모임
           후원 : 넷텐션
코드리뷰란
•   다른 개발자에게 코드 검토를 요청
•   실수를 발견하려는 목적
•   코드 퀄리티 향상
•   개발자의 스킬 향상
시스템의 장점
•   비동기
•   편하게 묻고
•   알려주는 사람도 편한 시간을 사용
•   인정 사정 없는 지적질
•   코드 작성 할 때 좀 더 신경쓰게 됨
제품들
•   Code Collaborator
•   Crucible
•   Review Board
•   Code Striker
•   Malevich
•   Mondrian
Code Collaborator
• 유료
• 다양한 기능을 지원(VS addin 등)
• Pre-Review(저장소에 commit 없이 리뷰)
  에 강점
• 상대적으로 고가
Crucible
• 유료
• 최소한의 기능만 지원
• Pre-Review 불편(소스 저장소에서 patch파
  일을 만들어서 올려야 함)
• 상대적으로 저가
• 설치가 간단하고 쉬운 인터페이스
• 고객 서포트 좋음
무료 제품들
•   Review Board
•   Code Striker
•   Malevich
•   Mondrian
Crucible을 이용한 리뷰 프로세스
•   리뷰 올리기
•   리뷰어 검토
•   코멘트
•   Complete
•   Summarize
•   Close
Review 생성
Review 리소스 선택
Commit 목록에서 선택
새로운 소스 추가
기존 소스 삭제
코멘트 달기
중요도 선택
Review 완료(Reviewer)
Review 완료(Review 작성자)
Review 닫기
Pre-Review
• 소스 저장소에 올리기 전 리뷰
• 소스 저장소의 기능을 이용해 Patch파일
  생성
 p4 diff –dcu100 > patch.txt
• Patch 파일을 업로드
Pre-Review(Patch파일 upload)
REST API
•   유저 목록
•   리뷰 목록
•   리뷰 상세 정보
•   그룹 목록 및 상세 정보
•   리뷰 혹은 유저의 일괄 처리
•   정보를 수집해서 각종 통계 처리
REST API – 리뷰 목록 가져오기

curl -X GET

--user your_account:your_password

“http://server:8060/rest-service/reviews-v1/”

>> review_list.xml
REST API – 리뷰 목록 가져오기
REST API – 리뷰 상세 가져오기

curl -X GET

--user your_account:your_password

“.../rest-service/reviews-v1/permaid/details”

>> review_detail.xml
리뷰에 사용된 시간
                평균리뷰시간
300


250


200


150
                                    시간(초)

100


50


  0
      3월   4월          5월      6월



                실제 데이터는 아닙니다
개인별 리뷰 개수
3.5


 3


2.5


 2


1.5


 1


0.5


 0
      3월   4월        5월      6월




           역시 실제 데이터가 아닙니다
문제점
•   웹으로 코드 보기가 불편
•   일부 사람들에게 리뷰가 집중되어 정체
•   올리는 사람만 올림
•   관리자가 있어야 함
활성화 되려면
•   프로그램 팀장의 의지
•   코멘트를 많이
•   리뷰 그룹은 5명 정도로 구성
•   담당자가 불편 사항을 바로 해결
•   기본적인 교육
•   신규입사자 교육
•   하루 업무 중 적당 시간을 리뷰에 할당
나쁜 현상
• 모았다가 한꺼번에
• 코멘트 없이 코드만
• 피드백을 받는데 걸리는 시간이 길어짐
좋은 현상
•   사용법이나 불편한 사항이 자주 리포트 됨
•   코멘트로 싸움
•   피드백을 받는데 걸리는 시간이 짧아짐
•   리뷰를 올리는데 시간이 많이 소모
•   리뷰를 하는데 시간이 많이 소모
•   코드 작성 할 때 좀 더 신경을 쓰게 됨
• 자세한 설명을 위해 그림이나 동영상을 첨부
• 간단한 것도 리뷰를 올림
추가적인 용도
• 인터페이스 변경을 알림(라이브러리 등)
• 코드의 변경된 사용법을 질문
감사합니다
Q&A

More Related Content

PDF
플리토 코드리뷰 - Code Review in Flitto
Yongjun Kim
 
PDF
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim
 
PDF
Code Review - DevOn2013
호정 이
 
PDF
카카오스토리 웹팀의 코드리뷰 경험
Ohgyun Ahn
 
PDF
성장하는 스타트업의 프로세스 개척기
DomainDriven DomainDriven
 
PDF
코드 리뷰 시스템 소개
Young-Ho Cha
 
PPTX
깨끗한 코드 (클린 코드, Clean Code)
Jay Park
 
PPTX
신림프로그래머모임_개발프로세스개선기
none
 
플리토 코드리뷰 - Code Review in Flitto
Yongjun Kim
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
Jinuk Kim
 
Code Review - DevOn2013
호정 이
 
카카오스토리 웹팀의 코드리뷰 경험
Ohgyun Ahn
 
성장하는 스타트업의 프로세스 개척기
DomainDriven DomainDriven
 
코드 리뷰 시스템 소개
Young-Ho Cha
 
깨끗한 코드 (클린 코드, Clean Code)
Jay Park
 
신림프로그래머모임_개발프로세스개선기
none
 

What's hot (20)

PDF
2019 11-code review
Myeongseok Baek
 
PDF
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
Soojin Ro
 
PDF
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
ChangKyu Song
 
PDF
[D2]pinpoint 개발기
NAVER D2
 
PPTX
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
none
 
PDF
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D2
 
PDF
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 대한민국
 
PDF
필요해서 하는 개발 자동화
none
 
PPTX
Continuous Integration
Donghyun Seo
 
PDF
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
PDF
5.yobi를 활용한 개발자 협업 및 배포 프로세스
NAVER D2
 
PDF
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
우영 주
 
PDF
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
devCAT Studio, NEXON
 
PDF
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
devCAT Studio, NEXON
 
PDF
깃헙으로 코드리뷰 하기
Ohgyun Ahn
 
PDF
Github 으로 학교 팀 프로젝트 하기
nexusz99
 
PPTX
Java 그쪽 동네는
도형 임
 
PDF
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
NAVER D2
 
PDF
Dev team chronicles
Kenu, GwangNam Heo
 
PDF
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
NAVER D2
 
2019 11-code review
Myeongseok Baek
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
Soojin Ro
 
[NDC13] 70명이 커밋하는 라이브 개발하기 (해외 진출 라이브 프로젝트의 개발 관리) - 송창규
ChangKyu Song
 
[D2]pinpoint 개발기
NAVER D2
 
Pinpoint 도입기 - 2016 신림프로그래머 오픈 세미나
none
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D2
 
Atlassian 및 오픈소스를 이용한 DevOps 구축 - 한국정보컨설팅
Atlassian 대한민국
 
필요해서 하는 개발 자동화
none
 
Continuous Integration
Donghyun Seo
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
NAVER Engineering
 
5.yobi를 활용한 개발자 협업 및 배포 프로세스
NAVER D2
 
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
우영 주
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
devCAT Studio, NEXON
 
전형규, 좋은 이름, 나쁜 이름, 이상한 이름, NDC2018
devCAT Studio, NEXON
 
깃헙으로 코드리뷰 하기
Ohgyun Ahn
 
Github 으로 학교 팀 프로젝트 하기
nexusz99
 
Java 그쪽 동네는
도형 임
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
NAVER D2
 
Dev team chronicles
Kenu, GwangNam Heo
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
NAVER D2
 
Ad

Viewers also liked (20)

PDF
[123] quality without qa
NAVER D2
 
PDF
Windows os 상에서 효율적인 덤프
OnGameServer
 
PDF
MinWin에 대해서
OnGameServer
 
PDF
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
OnGameServer
 
PDF
C++ 프로젝트에 단위 테스트 도입하기
OnGameServer
 
PDF
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
OnGameServer
 
PDF
안준석님 - 안드로이드 프로세스들의 통신 메커니즘 : 바인더 이야기
OnGameServer
 
PDF
Microsoft SharePoint를 활용한 개발환경 구축
OnGameServer
 
PDF
해외 취업 이야기
OnGameServer
 
PDF
Multi thread game server
OnGameServer
 
PDF
SDC 3rd 안중원님 - InGame CashShop 개발 하기
OnGameServer
 
PDF
IPv6 이론과 소켓 프로그래밍
OnGameServer
 
PDF
이욱진님 - 메모리 관리자로부터 배우기
OnGameServer
 
PDF
초보자를 위한 분산 캐시 이야기
OnGameServer
 
PDF
Mongo db 시작하기
OnGameServer
 
PDF
Boost 라이브리와 C++11
OnGameServer
 
PDF
우리가 몰랐던 크롬 개발자 도구
Jae Sung Park
 
PDF
Pull reqeust 활용기
jungseob shin
 
PDF
AOSP에 컨트리뷰션 하기 dev festx korea 2012 presentation
SeongJae Park
 
PDF
탐사분석을통한작업장탐지
Eun-Jo Lee
 
[123] quality without qa
NAVER D2
 
Windows os 상에서 효율적인 덤프
OnGameServer
 
MinWin에 대해서
OnGameServer
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
OnGameServer
 
C++ 프로젝트에 단위 테스트 도입하기
OnGameServer
 
SDC 3rd 최흥배님 - Boost.multi_index 사용하기
OnGameServer
 
안준석님 - 안드로이드 프로세스들의 통신 메커니즘 : 바인더 이야기
OnGameServer
 
Microsoft SharePoint를 활용한 개발환경 구축
OnGameServer
 
해외 취업 이야기
OnGameServer
 
Multi thread game server
OnGameServer
 
SDC 3rd 안중원님 - InGame CashShop 개발 하기
OnGameServer
 
IPv6 이론과 소켓 프로그래밍
OnGameServer
 
이욱진님 - 메모리 관리자로부터 배우기
OnGameServer
 
초보자를 위한 분산 캐시 이야기
OnGameServer
 
Mongo db 시작하기
OnGameServer
 
Boost 라이브리와 C++11
OnGameServer
 
우리가 몰랐던 크롬 개발자 도구
Jae Sung Park
 
Pull reqeust 활용기
jungseob shin
 
AOSP에 컨트리뷰션 하기 dev festx korea 2012 presentation
SeongJae Park
 
탐사분석을통한작업장탐지
Eun-Jo Lee
 
Ad

Similar to 임영기님 - 코드 리뷰 시스템 도입하기 (20)

PDF
2022 01-okky-코드리뷰
Myeongseok Baek
 
PDF
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
PDF
NDC2019 - 게임플레이 프로그래머의 역할
Hoyoung Choi
 
PPTX
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
ChangKyu Song
 
PDF
테스트 기발 개발, TBD(Test based developement)
도형 임
 
PDF
2018 01-code review
Myeongseok Baek
 
PPTX
행복한 개발을 위한_테스트_케이스
도형 임
 
PPTX
[H3 2012] 행복한 개발을 위한 테스트 케이스
KTH, 케이티하이텔
 
PDF
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
Jiyeon Seo
 
PPTX
프로젝트 Xxx에 적용하고 싶은 개발방법
도형 임
 
PDF
The Introduction to Refactoring
김진태 Jintae Kim
 
PPTX
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
 
PDF
코드리뷰 공감하기
Sungmin Oh
 
PDF
Gerrit code review guideline @ squarelab
Jaewon Baek
 
PDF
C++ 코드 품질 관리 비법
선협 이
 
PDF
WTM2018 그것이 알고싶다 어쩌다 10년... 지그재그 손연미, 백서영
ZIGZAG
 
PPT
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
iFunFactory Inc.
 
PDF
테스트개선지원 사례 - 웹어플리케이션대상
SangIn Choung
 
PPTX
[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균
NAVER D2
 
PPTX
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
 
2022 01-okky-코드리뷰
Myeongseok Baek
 
200820 NAVER TECH CONCERT 15_Code Review is Horse(코드리뷰는 말이야)(feat.Latte)
NAVER Engineering
 
NDC2019 - 게임플레이 프로그래머의 역할
Hoyoung Choi
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
ChangKyu Song
 
테스트 기발 개발, TBD(Test based developement)
도형 임
 
2018 01-code review
Myeongseok Baek
 
행복한 개발을 위한_테스트_케이스
도형 임
 
[H3 2012] 행복한 개발을 위한 테스트 케이스
KTH, 케이티하이텔
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
Jiyeon Seo
 
프로젝트 Xxx에 적용하고 싶은 개발방법
도형 임
 
The Introduction to Refactoring
김진태 Jintae Kim
 
김성훈 - 뛰어난 디버거가 되는 방법
성훈 김
 
코드리뷰 공감하기
Sungmin Oh
 
Gerrit code review guideline @ squarelab
Jaewon Baek
 
C++ 코드 품질 관리 비법
선협 이
 
WTM2018 그것이 알고싶다 어쩌다 10년... 지그재그 손연미, 백서영
ZIGZAG
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
iFunFactory Inc.
 
테스트개선지원 사례 - 웹어플리케이션대상
SangIn Choung
 
[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균
NAVER D2
 
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
 

임영기님 - 코드 리뷰 시스템 도입하기