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
akkiee76
October 11, 2022
Technology
0
600
こんなコードレビューは嫌だ
akkiee76
October 11, 2022
Tweet
Share
More Decks by akkiee76
See All by akkiee76
Meet the Translation API
akkie76
0
230
コードレビューで開発を加速させるAIコードレビュー
akkie76
1
360
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
2.9k
コードレビューを支援するAI技術の応用
akkie76
5
720
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
7.7k
Jetpack Compose で Adaptive Layout に対応しよう
akkie76
0
520
Observationではじめる値監視
akkie76
4
4.4k
TextField 表示スタイル変更の 有効活用例 5 選
akkie76
0
530
rememberUpdatedState の使いどころを考える
akkie76
0
370
Other Decks in Technology
See All in Technology
リファクタリングへの耐性が高いモデルベースの統合テストの紹介 / Model-Base Integration Test for Refactoring
yuitosato
5
1.5k
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
340
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
110
EKS初心者が早めに知っておきたかったこと
cuorain
0
140
Vueで Webコンポーネントを作って Reactで使う / 20241030-cloudsign-vuefes_after_night
bengo4com
3
180
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
1
200
小規模に始めるデータメッシュとデータガバナンスの実践
kimujun
2
260
CyberAgent 生成AI Deep Dive with Amazon Web Services / genai-aws
cyberagentdevelopers
PRO
1
360
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
230
APIテスト自動化の勘所
yokawasa
4
1.1k
現実のRuby/Railsアップグレード
takeyuweb
3
3.1k
Trusted Types API と Vue.js
lycorptech_jp
PRO
1
300
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Designing for humans not robots
tammielis
249
25k
Code Review Best Practice
trishagee
64
17k
Faster Mobile Websites
deanohume
304
30k
What's in a price? How to price your products and services
michaelherold
243
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
Embracing the Ebb and Flow
colly
84
4.4k
How to train your dragon (web standard)
notwaldorf
88
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
Music & Morning Musume
bryan
46
6.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
Transcript
〜 生産性を高めるコードレビューのTIPS 〜 こんなコードレビューは嫌だ @akkiee76
自己紹介 Akihiko Sato / 株式会社ラクス Lead Engineer / @akkiee76 SaaS
開発 (Backend, Frontend) / Mobile 開発 (iOS, Android) 上流工程、コードレビュー、チームの課題改善など 読書 / コーヒー / HHKB / 体幹トレーニング
コードレビュー技術について ・オブジェクト指向で類型化するコードレビュー ・レビューガイドラインで技術力を見える化する ・コードレビューの心構え
今日伝えたいこと 「嫌なPR/MR」を避けることで コードレビューの生産性と品質を高めよう!
こんなコードレビューは嫌だ ① changes / diff が多すぎる
レビューで困ること ・考慮漏れが発生するリスクが比例する(品質への懸念) ・レビューに時間がかかる ・手戻りのリスク(修正時のコストが大きい)
原因考察 ・実装スコープが大きい ・不要なファイルがコミットされている(node_moduleなど)
アクションプラン ・実装スコープを細かく分けて、changes を少なくする ・一部の条件分岐のロジックのスコープを分ける ・横展開系開発は、基本方針と横展開を分ける ・ライブラリのアップデートは機能ごとに分ける
こんなコードレビューは嫌だ ② overview の情報が少ない 実装方針が分からない
レビューで困ること ・レビューに時間がかかる ・実装者との意思疎通・コード解釈 ・手戻りのリスク(実装方針の認識相違)
原因考察 ・レビュワーへの配慮 ・設計の認識合わせ不足
アクションプラン ・overview に実装方針を記載する ・必要に応じて実装の背景をコメントで残す ・「FYI 」などのコメント略語を利用する
こんなコードレビューは嫌だ ③ コミットコメントと内容が一致しない
こんなコードレビューは嫌だ ③(実例) ・実装5 ・実装4 ・実装3 ・実装2 ・実装1 commit の粒度が 分からない・・・
レビューで困ること ・全部の chages / diff でレビューを行うことになる ・レビューに時間がかかる ・考慮漏れのリスク(場合によって)
原因考察 ・実装プロセスが明確になっていない(惰性で実装) ・設計の認識合わせ不足
アクションプラン ・commitコメントと内容をなるべく一致させる ・実装プロセスと内容を確立させる(頑張り過ぎない)
こんなコードレビューは嫌だ ④ リファクタリングが含まれている
レビューで困ること ・問題が発生した場合、問題箇所を特定しにくい(品質) ・軽微な修正は許容 ・chages / diff が多くなりがち ・レビューに時間がかかる
原因考察 ・実装プロセスが明確になっていない ・影響範囲の調査不足
アクションプラン ・影響範囲は事前に調査する ・リファクタリングはスコープを分ける ・可能であれば事前にリファクタリングできると GOOD !
こんなコードレビューは嫌だ ⑤ ライブラリのアップデートが含まれている
レビューで困ること ・問題が発生した場合、問題箇所を特定しにくい(品質) ・依存関係により影響範囲が大きくなるケースがある
原因考察 ・影響範囲が少なそうなので、ついでにアップデートした ・IDEで良しなにアップデートされていた ・diff を確認で漏れてしまった
アクションプラン ・ライブラリのアップデートのみをスコープにする ・影響範囲に関わらず機能チェックするとよい ・バージョン開発早期にやると GOOD !
こんなコードレビューは嫌だ5選 ・changes / diff が多すぎる ・overview の情報が少ない ・コミットコメントと内容が一致しない ・リファクタリングが含まれている ・ライブラリのアップデートが含まれている
まとめ 開発を進める上で大切なこと ・PRのスコープを大きくしない ・実装者とレビュアーのコミュニケーションを大切にする ・diff を確認する 明日からのコードレビューでぜひ実践してみよう!
ご清聴ありがとうございました