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
Hideaki ishii
March 05, 2025
Programming
11
11k
良いコードレビューとは
こちらの発表内容です。
https://findy.connpass.com/event/345102/
Hideaki ishii
March 05, 2025
Tweet
Share
More Decks by Hideaki ishii
See All by Hideaki ishii
I know everything about mocks, stubs, and spies in RSpec
danimal141
0
230
事業に向き合い続けたい私は、それでもRailsを使い続ける
danimal141
8
6.2k
Other Decks in Programming
See All in Programming
がんばりすぎないコーディングルール運用術
tsukakei
1
110
PT AI без купюр
v0lka
0
150
Efficiency and Rock 'n’ Roll (Really!)
hollycummins
0
530
Cloudflare Workersで進めるリモートMCP活用
syumai
13
1.9k
テスト分析入門/Test Analysis Tutorial
goyoki
8
2.5k
マテリアルって何者?RealityKitで扱うマテリアル入門
nao_randd
0
130
事業KPIを基に価値の解像度を上げる
nealle
0
180
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
210
ソフトウェア品質特性、意識してますか?AIの真の力を引き出す活用事例 / ai-and-software-quality
minodriven
19
6.3k
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
120
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
360
衛星の軌道をWeb地図上に表示する
sankichi92
0
220
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
We Have a Design System, Now What?
morganepeng
52
7.6k
Visualization
eitanlees
146
16k
KATA
mclloyd
29
14k
Thoughts on Productivity
jonyablonski
69
4.7k
Producing Creativity
orderedlist
PRO
345
40k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
GitHub's CSS Performance
jonrohan
1031
460k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
33k
Transcript
良いコードレビューとは ©︎ 2025 Speee, Inc.
自己紹介 項目 内容 ID @danimal141 氏名 石井秀明 所属 株式会社Speee 不動産DX事業部
エンジニアリングマネージャー 趣味 飲酒 (特にウイスキー)、アニメ、映画、読書、カラオケ、ウクレレ等 ©︎ 2025 Speee, Inc.
今日はどんな話をするか まずは良いコードレビューの定義について 良いコードレビューをチームで運用するために、Reviewer / Revieweeそれぞれが大 切にしたい観点について ©︎ 2025 Speee, Inc.
本発表で扱わないこと 具体的にどのようなツールを使うか どのようにコードレビューを組織で運用しているか といったHowの話は扱いません。 ©︎ 2025 Speee, Inc.
良いコードレビューとは ©︎ 2025 Speee, Inc.
©︎ 2025 Speee, Inc.
ご清聴ありがとうございました! ©︎ 2025 Speee, Inc.
「良いコードレビュー」 = 「事業成長を加速させるためのコードレビ ュー」 今回は何かしらの事業を成長させるためのプロダクト開発チームでコードレビュー をしている・しようとしている方をメインターゲットに想定し、私の考える「事業 を成長させるためのコードレビューってこうあるべきだよね」を話します 我々は日々、市場、競合、事業戦略、組織などの様々な変化に晒されながら、限ら れたリソースの中で事業やプロダクトを成長させていかねばなりません ©︎
2025 Speee, Inc.
「事業成長を加速させるためのコードレビュー」 = 「変化に対応可能 で一貫性のあるソフトウェア設計を守るためのコードレビュー」 コードレビューとは、 今、目の前でやろうとしている機能開発の 目的、完了条件・勝利条件に対して、筋 が通った進め方ができていそうか 中長期的に良質な顧客体験を提供し続けるために足枷になりそうなリスクに対し て、チームでどう対処するか
中長期的に開発速度を維持・加速させ続けるために足枷になりそうなリスクに対し て、チームでどう対処するか をチームメンバー全員で考え、改善し続けるための手段の一つである。 ©︎ 2025 Speee, Inc.
©︎ 2025 Speee, Inc.
( 余談) コードレビューの今後 本日は対「人間」を想定していますが、今後は対「AI」なコードレビューが増える かもしれないですね 皆がAIを部下に持つマネージャーのようになり、自身がコードを書くよりも指示を 出すことがメインのお仕事になるかもしれません ©︎ 2025 Speee,
Inc.
ここからは「良いコードレビュー」を運用するために、Reviewer / Reviewee 双方で大切にしたい観点(ふるまい / マインド) をご紹介し ます。 ©︎ 2025
Speee, Inc.
Reviewer 編 ©︎ 2025 Speee, Inc.
レビューする時に気をつけたいポイント PRで何をレビューするべきかを理解したか、 完了条件は明確になっているか 対象の実装は該当Issueの完了条件を満たしているか、バグやデグレはないか 設計は問題ないか 特にドメインモデル、DB設計など、 プロダクトにとってのコア価値につながる 部分は入念に コア価値を持続、拡張していくためのテストは十分に書かれているか パフォーマンス面やセキュリティ面など、
非機能要件は明確になっているか その要件に対して懸念はないか ©︎ 2025 Speee, Inc.
レビューする時に気をつけたいポイント ( マインド編) 自分が後にそのコードをメンテする想定で臨むべし 理解できない部分も積極的に質問する PR上での議論が難航しそうな場合はMTGやペアプロ、モブプロを提案するのも アリかも 良くない実装を見つけても、 人ではなくコードを指摘する 指摘する際も「
なぜ良くないと思うか」必ず理由をつけて議論する 自分の好みを押し付け過ぎない 良いと思った点は積極的に褒める 若手の方がコードレビューに挑戦する際はこれをおすすめしています ( 「その実装 の何が良いと思ったか」を言語化する訓練にもなるため) ©︎ 2025 Speee, Inc.
Reviewee 編 ©︎ 2025 Speee, Inc.
レビューされる時に気をつけたいポイント PRで何をレビューしてもらいたいかを明確にしているか 完了条件やスコープは明確になっているか また、自身の実装はその完了条件は満たしているか (セルフレビューできている か) PRのボリュームは適切か、PRを分割してレビュー依頼したほうが負担が少ない可能 性はないか 自分の書いたコードは 数ヶ月後、自分含めて誰が読んでも意図が理解できそうか
コードだけでは意図が伝わりにくそうな部分はコードコメントやADR ( 意思決定ド キュメント) を残せているか 実装は試行錯誤の結果であり、実装を読むだけではその過程を理解できないこと も多い (前提となるビジネス上の制約があったなど) ©︎ 2025 Speee, Inc.
レビューされる時に気をつけたいポイント ( マインド編) 自分の実装に関するどんな質問にも答えられるようにする Reviewerからの質問には「 なぜそのようにしたか」理由を明確にして回答でき るようにする それが難しいのであれば、レビュー依頼の前にもっと周囲に頼る必要があったり しないですか? Reviewerからの指摘が理解できない場合は積極的に質問する
(テキストだけで伝え づらいなら、MTGとかすればええやん) Reviewerからの指摘は自分にとっての学習機会であると捉える へこたれない強い気持ちも磨いていきましょう ©︎ 2025 Speee, Inc.
まとめ ©︎ 2025 Speee, Inc.
改めて、「良いコードレビュー」 = 「事業成長を加速させるためのコ ードレビュー」 コードレビューとは、 今、目の前でやろうとしている機能開発の 目的、完了条件・勝利条件に対して、筋 が通った進め方ができていそうか 中長期的に良質な顧客体験を提供し続けるために足枷になりそうなリスクに対し て、チームでどう対処するか
中長期的に開発速度を維持・加速させ続けるために足枷になりそうなリスクに対し て、チームでどう対処するか をチームメンバー全員で考え、改善し続けるための手段の一つである。 ©︎ 2025 Speee, Inc.
レビューをする時もされる時も常に目的を見失わず、気持ちの良い議 論を心がけたいですね! ©︎ 2025 Speee, Inc.
We are hiring! まずはカジュアルにお話しませんか! (特にEMを目指している方、生成AI関連のプロダクトをこれ から作って行きたい方) 新規事業 (生成AI関連)やEMの仕事についてぜひお話しましょう: https://pitta.me/matches/AATOvxaUYcyA ©︎
2025 Speee, Inc.
ご清聴ありがとうございました! ©︎ 2025 Speee, Inc.