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
余裕を生み出すコードレビュー 〜レビュイー編〜 / code-review-phpcon-2019
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
fortkle
December 01, 2019
Technology
8
7.5k
余裕を生み出すコードレビュー 〜レビュイー編〜 / 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.6k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
740
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
4.8k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
600
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
340
良いテストデータ、悪いテストデータ / testdata-antipattern
fortkle
4
7k
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.6k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2.1k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.7k
Other Decks in Technology
See All in Technology
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
400
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
190
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
190
Scrumは歪む — 組織設計の原理原則
dashi
0
200
OCHaCafe S11 #2 コンテナ時代の次の一手:Wasm 最前線
oracle4engineer
PRO
2
150
バクラク最古参プロダクトで重ねた技術投資を振り返る
ypresto
0
170
Kubernetesにおける推論基盤
ry
1
420
生成AIで速度と品質を両立する、QAエンジニア・開発者連携のAI協調型テストプロセス
shota_kusaba
0
190
Everything Claude Code を眺める
oikon48
12
7.7k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
VLAモデル構築のための AIロボット向け模倣学習キット
kmatsuiugo
0
250
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
1
170
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
89
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
130
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
From π to Pie charts
rasagy
0
150
Rails Girls Zürich Keynote
gr2m
96
14k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
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