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
340
わたしがエンジニアになった理由
chihiro
1
350
2020年にやりたいこと
chihiro
0
350
社内LT大会を3年間開催してきた中で考えたこと
chihiro
0
510
IamlearningGit.pdf
chihiro
0
44
便利ツールLT大会
chihiro
2
260
オススメ❤を詰め込みました
chihiro
0
460
Vimmerになりたいあなたへ
chihiro
4
2.3k
Other Decks in Technology
See All in Technology
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.9k
生成AI時代のPythonセキュリティとガバナンス
abenben
0
150
AIを使ってテストを楽にする
kworkdev
PRO
0
300
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
170
頭部ふわふわ浄酔器
uyupun
0
240
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
220
Observability — Extending Into Incident Response
nari_ex
1
590
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
120
어떤 개발자가 되고 싶은가?
arawn
0
170
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.3k
Azure Well-Architected Framework入門
tomokusaba
1
150
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
160
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
How GitHub (no longer) Works
holman
315
140k
The Language of Interfaces
destraynor
162
25k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Raft: Consensus for Rubyists
vanstee
140
7.2k
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
ご清聴ありがとうございました!