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
610
こんなコードレビューは嫌だ
akkiee76
October 11, 2022
Tweet
Share
More Decks by akkiee76
See All by akkiee76
Meet the Translation API
akkie76
0
250
コードレビューで開発を加速させるAIコードレビュー
akkie76
1
400
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
3.3k
コードレビューを支援するAI技術の応用
akkie76
5
740
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
7.9k
Jetpack Compose で Adaptive Layout に対応しよう
akkie76
0
550
Observationではじめる値監視
akkie76
4
4.4k
TextField 表示スタイル変更の 有効活用例 5 選
akkie76
0
560
rememberUpdatedState の使いどころを考える
akkie76
0
400
Other Decks in Technology
See All in Technology
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
610
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.1k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1k
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Designing the Hi-DPI Web
ddemaree
280
34k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Invisible Side of Design
smashingmag
298
50k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Documentation Writing (for coders)
carmenintech
65
4.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Designing Experiences People Love
moore
138
23k
Docker and Python
trallard
40
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
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 を確認する 明日からのコードレビューでぜひ実践してみよう!
ご清聴ありがとうございました