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
12
12k
良いコードレビューとは
こちらの発表内容です。
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
250
事業に向き合い続けたい私は、それでもRailsを使い続ける
danimal141
8
6.4k
Other Decks in Programming
See All in Programming
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.8k
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
4.7k
r2-image-worker
yusukebe
1
180
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
11
6.2k
高単価案件で働くための心構え
nullnull
0
170
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
260
データファイルをAWSのDWHサービスに格納する / 20251115jawsug-tochigi
kasacchiful
2
100
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
15k
モビリティSaaSにおけるデータ利活用の発展
nealle
1
660
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
640
無秩序からの脱却 / Emergence from chaos
nrslib
1
10k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Thoughts on Productivity
jonyablonski
73
4.9k
Into the Great Unknown - MozCon
thekraken
40
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
680
Building an army of robots
kneath
306
46k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
36
7k
The Cult of Friendly URLs
andyhume
79
6.7k
BBQ
matthewcrist
89
9.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
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.