Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
Search
fortkle
December 01, 2019
Technology
8
7.3k
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
PHPカンファレンス2019 LT
ブログ記事もあわせてお読みください!
https://tech.connehito.com/entry/heartful-code-review
fortkle
December 01, 2019
Tweet
Share
More Decks by fortkle
See All by fortkle
無駄な物をなるべく作らないリプレイス戦略 / replace-strategy-phperkaigi2021
fortkle
1
2.4k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
710
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
4.6k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
580
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
320
良いテストデータ、悪いテストデータ / testdata-antipattern
fortkle
4
6.9k
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.5k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2.1k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.6k
Other Decks in Technology
See All in Technology
RAG/Agent開発のアップデートまとめ
taka0709
0
140
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
0
290
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
120
エンジニアとPMのドメイン知識の溝をなくす、 AIネイティブな開発プロセス
applism118
4
780
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
410
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
120
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Ayumi Ohno)
nao_sumikawa
0
120
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
120
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
800
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
1.3k
大企業でもできる!ボトムアップで拡大させるプラットフォームの作り方
findy_eventslides
1
500
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
600
Featured
See All Featured
Thoughts on Productivity
jonyablonski
73
5k
4 Signs Your Business is Dying
shpigford
186
22k
The Cult of Friendly URLs
andyhume
79
6.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
121
20k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualization
eitanlees
150
16k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
KATA
mclloyd
PRO
32
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Transcript
余裕を⽣み出すコードレビュー 2019.12.01 PHPカンファレンス 2019 コネヒト株式会社 @fortkle
⾃⼰紹介 • ⾼野 福晃 @fortkle • コネヒト株式会社 / Backend Engineer
• PHP, Go, React, etc • 本を共著で書きました! • 『TECHNICAL MASTER はじめての PHPプロフェッショナル開発』
(宣伝)コネヒトについて ˞৷தʙࡀϲ݄ͷࢠڙΛ࣋ͭঁੑ ਓΛରͱͨ͠ௐࠪΑΓ ʮݱࡏ͍ͬͯΔΞϓϦ ৷ɾࢠҭͯܥ Λͯ͢ڭ͍͑ͯͩ͘͞ʯͰୈҐʢ݄࣮ࢪɺௐࠪڠྗɿΠϯςʔδʣɻ ママ向けNo.1(※)アプリ「ママリ」
(宣伝)コネヒトについて ママの3⼈に1⼈が利⽤中! ˞৷தʙࡀϲ݄ͷࢠڙΛ࣋ͭঁੑ ਓΛରͱͨ͠ௐࠪΑΓ ʮݱࡏ͍ͬͯΔΞϓϦ ৷ɾࢠҭͯܥ Λͯ͢ڭ͍͑ͯͩ͘͞ʯͰୈҐʢ݄࣮ࢪɺௐࠪڠྗɿΠϯςʔδʣɻ
(宣伝)コネヒトについて 創業時からPHPをメイン⾔語で利⽤中! ˞৷தʙࡀϲ݄ͷࢠڙΛ࣋ͭঁੑ ਓΛରͱͨ͠ௐࠪΑΓ ʮݱࡏ͍ͬͯΔΞϓϦ ৷ɾࢠҭͯܥ Λͯ͢ڭ͍͑ͯͩ͘͞ʯͰୈҐʢ݄࣮ࢪɺௐࠪڠྗɿΠϯςʔδʣɻ
(宣伝)コネヒトについて 創業時からPHPをメイン⾔語で利⽤中! ˞৷தʙࡀϲ݄ͷࢠڙΛ࣋ͭঁੑ ਓΛରͱͨ͠ௐࠪΑΓ ʮݱࡏ͍ͬͯΔΞϓϦ ৷ɾࢠҭͯܥ Λͯ͢ڭ͍͑ͯͩ͘͞ʯͰୈҐʢ݄࣮ࢪɺௐࠪڠྗɿΠϯςʔδʣɻ 2016年から継続して PHPカンファレンスに協賛 させていただいています
今⽇のテーマ 「コードレビュー」
• GitHubのPull Requestを使ったコードレビュー • 必ずコードレビューを通過したコードのみが masterブランチにマージされる 弊社の場合 開発者(レビュイー) レビュワー 設計・実装
コードレビュー デプロイ
よくある課題の1つ レビュー待ちPRが溜まる
レビューコストは低くない 開発者(レビュイー) レビュワー 設計・実装 コードレビュー デプロイ レビュワーの偏り∕確認不⾜による⼿戻りの発⽣ ∕頻繁なコンテキストスイッチ
レビューコストを下げるには どうすればよいか?
例えば… • 機械にできることは機械に任せる • Linter や 静的解析の導⼊ • レビュー⾃動化のSaasを⼊れる •
ペアプロ / モブプロ • etc
ですが、もっと簡単なことで
当たり前だけど 意外とできていないことで
コードレビューに “余裕”を⽣み出せる
やること レビュワー の 3つの「分からない」を減らす
鍵になるのは レビュイー のひと⼿間
レビュワー の3つの「分からない」 • 変更の意図・背景が分からない • 変更内容が分からない • 何に注⽬すればいいか分からない
• 変更の意図・背景が分からない • 変更内容が分からない • 何に注⽬すればいいか分からない レビュワー の3つの「分からない」
例1
例1 このDescription を読んだだけでは 「変更の意図や背景」 が分からない
改善例
改善例
改善例 背景を簡潔に説明 設計の意図や 参考にした リンクなどを 記載
• 変更の意図・背景が分からない • 変更内容が分からない • 何に注⽬すればいいか分からない レビュワー の3つの「分からない」
例2
例2 over 1200⾏の ⼤きすぎるdiff 意味のある単位で分割されていないコミット
改善例
改善例 1つのPRでは 1つのことをやる 実際の実⾏コマンドをメッセージ等に書くと親切 意味のある単位でコミットを分割 500⾏を ⽬安に分割 (Dangerなどで警告)
• 変更の意図・背景が分からない • 変更内容が分からない • 何に注⽬すればいいか分からない レビュワー の3つの「分からない」
例3
例3 どうやって確認すればいいのか、 何に注⽬すればいいのか 分からない
改善例 確認してほしいことを書いておく (チェックボックスなどでリスト化すると効果的)
改善例 もちろん ⾃動テストも書こう!
改善例 インラインコメントで不安な点を伝える
まとめ
まとめ • レビュイーのひと⼿間でレビューコストは下がる • 特別なスキルやツールは必要ない • 余裕を⽣み出して、よりよいプロダクトを作って いきましょう! ”Twemoji" by
Twitter, Inc and other contributors is licensed under CC-BY 4.0