Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
코드 리뷰어 활동 후기
Search
RIDI
February 10, 2017
Technology
3
860
코드 리뷰어 활동 후기
발표자: 뷰어팀 김광래
RIDI
February 10, 2017
Tweet
Share
More Decks by RIDI
See All by RIDI
원격 근무 팀 운영 경험 공유
ridi
0
2k
SVG Icon Design Guide
ridi
2
3k
빠르게 훑어보는 리디페이 백엔드 개발기
ridi
2
4.7k
Next.js는 정말 zero config였다.
ridi
0
1.8k
3일 걸릴 것 같던 구매목록 다운로드는 왜 3주가 걸렸을까?
ridi
0
320
원격으로 한 달 일해보니
ridi
0
1.3k
리디북스 앱에 S Pen Remote 연동하기
ridi
2
2.4k
UI 라이브러리 개발기
ridi
1
2.2k
테스트 환경 개선하기
ridi
8
3.1k
Other Decks in Technology
See All in Technology
20240416_devopsdaystokyo
kzkmaeda
1
190
アクセシビリティを考慮したUI/CSSフレームワーク・ライブラリ選定
yajihum
0
230
[2024年3月版] Databricksのシステムアーキテクチャ
databricksjapan
8
1.9k
ユーザーストーリーのレビューを自動化したみたの
bun913
1
330
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
140
巨大なテーブルのテーブル定義を無停止で安全に誰でも変更できるようにする / Table-definitions-for-huge-tables-can-be-modified-by-anyone-safely-and-non-disruptively
freee
1
740
強みを伸ばすキャリアデザイン
yug1224
0
200
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.9k
「ふりかえりのふりかえり」をふりかえり、実のあるふりかえりにする
naitosatoshi
0
220
OpenTelemetry を使ったトレースエグザンプラーの活用 / otel-trace-exemplar
k6s4i53rx
2
640
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
700
日本におけるデータエンジニアリングのこれまでとこれから
foursue
12
2.5k
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
4 Signs Your Business is Dying
shpigford
175
21k
How to Ace a Technical Interview
jacobian
272
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Code Reviewing Like a Champion
maltzj
513
39k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
Designing for Performance
lara
601
67k
Happy Clients
brianwarren
91
6.4k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
The Cost Of JavaScript in 2023
addyosmani
14
3.8k
Transcript
코드 리뷰어 활동 후기 뷰어팀 김광래, 17.2.10
저에 대하여
근래에 코드 리뷰어 역할을 자주 맡게 되면서 제가 했던 /
하고 있는 고민들을 공유하고자 합니다!
코드 리뷰 : 개발 결과에 대한 의견을 교환하는 과정
코드 리뷰에서 확인해야할 것 - 잘 동작하는가? - ‘좋은 코드’인가?
- 스타일의 일관성 - 간결 + 이해하기 쉬움 - 적절히 분리 + 유연한 구조 - 테스트하기 쉬움
고민 1 : 좋은 도구? GitLab - Upsource - GitHub
Upsource -빠름 -특정 commit 제외 가능 -Comment 완료 처리 가능
https://d3nmt5vlzunoa1.cloudfront.net/wp-content/uploads/2013/09/image_thumb2.png
GitHub -Issue / review의 관리 및 연계가 쉬움 -Commit 선택에
제약↑ -다소 느림
GitLab -GitHub과 유사 -매우 느림 -Comment가 많으면 오류 발생 https://i.ytimg.com/vi/aWFMxYT7n6Y/maxresdefault.jpg
고민 2 : 좋은 Process? 좋은 결과 + 빠른 진행
속도
Remind : 코드 리뷰에서 확인해야할 것 - 잘 동작하는가? -
‘좋은 코드’인가? - 스타일의 일관성 - 간결 + 이해하기 쉬움 - 적절히 분리 + 유연한 구조 - 테스트하기 쉬움
무엇을 하는 코드인지 파악하기 https://www.entropywins.wtf/blog/wp-content/uploads/2014/04/cr.png
잘 동작하는지 확인하기 – 좋았던 점 - 리뷰 전 Task
파악에 유용 - 오류 Double check 가능 - “버그로 인한 코드 변경 리뷰 시간 증가” 예방
잘 동작하는지 확인하기 – 시행착오 오류를 발견했을 때 … -
공유 시점 - 공유 대상 - 공유 수단 : 구두 / Slack / Asana
잘 동작하는지 확인하기 – 문제점 - 코드 리뷰에 속하는 부분인지?
- Test 자동화로 생략 가능한 부분이 아닌지? - 디자인 확인 시에 체크해야 할 부분이 아닌지?
좋은 코드인지 확인하기 큰 변화를 가져올 수 있는 부분부터 -
전체적인 구조 디테일한 부분 - 리뷰의 부담을 줄이기 위해 http://m.memegen.com/ud0t0y.jpg
좋은 코드인지 확인하기 - 아직 다뤄보지 못한 부분을 리뷰할 때
- 더 좋은 구조 / 구현에 대한 고민이 있을 때 더 많은 질문 + 의견 교환
최대한 자동화하기 정량적인 체크 자동화 리뷰 부담 감소 -
Lint : 코드 스타일 확인, 잠재적 오류 검사 - CI : 빌드 성공 / Test, Lint 통과 여부 확인
리뷰 중 코드 변경에 대처하기 This page was outdated… click
here to refresh… 리뷰 범위 기억하기
- 해당 feature와는 연관성이 적지만 중요한 문제 - 리뷰 시
발견한 문제가 다른 부분에도 있는 경우 별도 Issue / Task 분리 리뷰 범위 밖의 문제를 발견한 경우
여전히 고민 중인 부분
리뷰 분량 문제 - 양이 많은 경우 너무 오랜 시간이
걸림 - 프로젝트를 작게 분리 디자인 확인 + 리뷰 반복 - 디자인 확인 일정도 같이 변경되어야 !
어디까지 Comment를 남겨야 하는지 - 작성자의 의도 : ? -
작성자의 취향 : ? - 관련 History : ? 궁금하면 물어보기 https://i.stack.imgur.com/dLTF8.png
좋은 의사 표현 방식은 무엇인지 - 상대가 쉽게 이해할 수
있는 표현 - 글 vs 말 - 스크린샷 첨부 기능 등 이용 - 상대의 감정을 상하지 않게 하는 표현
감사합니다!