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
chihiro
October 12, 2022
Technology
0
660
レビューしやすいプルリクを作ろう
2022年10月12日に行われた「コードレビュー LT会 - vol.3」の発表資料です。
chihiro
October 12, 2022
Tweet
Share
More Decks by chihiro
See All by chihiro
GithubActionsHandsOn資料
chihiro
0
330
わたしがエンジニアになった理由
chihiro
1
350
2020年にやりたいこと
chihiro
0
350
社内LT大会を3年間開催してきた中で考えたこと
chihiro
0
500
IamlearningGit.pdf
chihiro
0
44
便利ツールLT大会
chihiro
2
250
オススメ❤を詰め込みました
chihiro
0
460
Vimmerになりたいあなたへ
chihiro
4
2.2k
Other Decks in Technology
See All in Technology
Delegating the chores of authenticating users to Keycloak
ahus1
0
190
ClaudeCodeにキレない技術
gtnao
1
870
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
1.3k
無理しない AI 活用サービス / #jazug
koudaiii
0
100
今だから言えるセキュリティLT_Wordpress5.7.2未満を一斉アップデートせよ
cuebic9bic
2
170
SREのためのeBPF活用ステップアップガイド
egmc
2
1.3k
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
3
410
サービスを止めるな! DDoS攻撃へのスマートな備えと最前線の事例
coconala_engineer
1
180
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
3
2k
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
1.1k
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
3
210
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
The Language of Interfaces
destraynor
158
25k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Fireside Chat
paigeccino
37
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
We Have a Design System, Now What?
morganepeng
53
7.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Cult of Friendly URLs
andyhume
79
6.5k
The Invisible Side of Design
smashingmag
301
51k
Transcript
レビューしやすいプルリク を作ろう 2022.10.12 コードレビュー LT会 - vol.3 Fujisawa
Chihiro
自己紹介 • Fujisawa Chihiro • Webアプリ、スマホアアプリ • ゲーム大好き、ポケモン楽しみ • 絶賛就職活動中
Twitter @chihiro0940
今日のテーマ レビューしやすいプルリクを作ろう
レビューしやすいプルリクとは? • レビューできるだけの情報が揃っている(情報にアクセス できる) • 見やすい • 正確・・・などなど
今日話すこと • どうやって? ◦ GitHubのプルリクエストテンプレート • どんな情報を? ◦ テンプレートの中身
注意 • 今日はGitHubを題材に話します • Qiitaにも似た内容の記事を書いています ◦ 「テンプレートを使って、より良い情報が入った&レビューしやすいプルリクを」 ◦ 「【Git】commitの粒度」
プルリクエスト テンプレート
プルリクエストテンプレートとは プルリクエストテンプレートを設置することで、プルリクエスト 作成時に本文部分にテンプレートの内容を反映することがで きる。
テンプレートなし
テンプレートあり
テンプレートの作成方法 テンプレートを設定したいリポジトリに pull_request_template.md という名 前でテンプレートを作成する。 ファイルの置き場は以下のうちのどこか。 • リポジトリルート/pull_request_template.md • リポジトリルート/docs/pull_request_template.md
• リポジトリルート/.github/pull_request_template.md 参考: https://docs.github.com/ja/communities/using-templates-to-encourage-useful-issues-and-pull-requests/creating-a-pull-reque st-template-for-your-repository
テンプレートの作成方法 https://github.com/chihirof/github-template-sample
テンプレートの内容
内容一覧(案) 1. タスク概要 2. このプルリクエストがマージされると何が変わるか? 3. やらないこと 4. レビューしてほしい観点 5.
確認したこと 6. プルリクエスト作成時のチェックリスト 7. レビューしてくれる方へ
1.タスク概要 • このプルリクエストの元ネタであるタスクの概要(背景)をレ ビュアーに説明する • Issueや外部サービスで、タスク、チケット、課題等を管理 していれば、そのリンクを貼るのでもOK
2.このプルリクエストがマージされるとどうなるか? • プルリクエストがプロダクトに与える影響をレビュアーに説 明する • どんな変更を加えたのか、その結果どうなるのか、など ◦ 画面変更の場合はここにbefore/afterのスクショを貼 るなどもOK
3.やらないこと • このプルリクエストでは対応しないことをレビュアーに説明 する ◦ UIへの表示は次のプルリクエストで対応します、など
4.レビューしてほしい観点 • レビュアーに特段レビューして欲しい点があれば説明す る ◦ この変数名、もっといいものがないかな? ◦ ここの設計、迷ったけどどうでしょう?など
5.確認したこと • 動作確認した内容をレビュアーに説明する
6.プルリクエスト作成時のチェックリスト • レビューに出す前に確認すべきことのチェックリスト ◦ チェックボックスにチェックをする • 毎回やらなくてもいいけども、場合によっては必要なことな ど ◦ 特定の変更がある場合にテストすること
◦ このファイルに変更があったらこっちも確かめること、 など
7.レビューしてくれる方へ • レビュアーに忘れないでほしいこと • (例えば)コメントには優先度をつけましょう ◦ MUST/IMO/IMHO/nits ◦ https://qiita.com/kuniyonkunisan/items/2ed8c48ff349e6add45b
まとめ
プルリクエストを充実させるメリット • レビューを効率よく進められる ◦ タスク自体に関するやりとりが減る ◦ 適切なコメントをもらえる ▪ 「この処理が必要ではないですか?」「そこは次の プルリクでやります」
• プルリクエストを書く中で気づくことがある ◦ 動作確認欄に書きながら「あ、このケース見ていない な・・・」 ◦ 実装中モードから頭を切り替えられる
最後に • テンプレートは定期的に見直しを ◦ チェックリストの中身は常に最新化する • チームで話して試行錯誤していくことが大事 ◦ レビューに何を求める? •
充実したレビューのためにできることは他にもある ◦ 適切な粒度のコミットに分ける、など
その他参考リンク • https://github.blog/2015-01-21-how-to-write-the-perfe ct-pull-request/ • https://github.com/thoughtbot/guides/tree/main/code- review
ご清聴ありがとうございました!