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
fortkle
December 01, 2019
Technology
8
6.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
1.9k
フルリモート時代のカンバン運用 / kanban-operation-in-remote
fortkle
0
580
GitHub Actionsで始めるPHPアプリケーションのCI実践入門 / ga-phperkaigi2020
fortkle
3
3.8k
「設計振り返り」を始めてみようと思っている話 / architecture reflection
fortkle
3
500
「ママ向けNo.1アプリ」の 更なる成長を支える仕組み / startup-engineer-night-connehito
fortkle
2
270
良いテストデータ、悪いテストデータ / testdata-antipattern
fortkle
4
6.5k
BackstopJSで始める CSSリグレッションテスト / backstopjs-css-test
fortkle
0
1.4k
PhpStorm導入アンチパターン / phpstorm-anti-pattern
fortkle
0
2k
やさしいコーディング規約の導入〜その後〜 / yasashii-sonogo
fortkle
7
3.4k
Other Decks in Technology
See All in Technology
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
340
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
私が trocco を推す理由
__allllllllez__
1
200
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
1
7.6k
日本におけるデータエンジニアリングのこれまでとこれから
foursue
16
4.2k
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
420
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
310
JAWS-UG Bedrock Claude Night
yamahiro
3
540
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
750
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.8k
20240416_devopsdaystokyo
kzkmaeda
1
220
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1356
200k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
It's Worth the Effort
3n
180
27k
Clear Off the Table
cherdarchuk
84
310k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Music & Morning Musume
bryan
41
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
Web development in the modern age
philhawksworth
202
10k
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