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
650
レビューしやすいプルリクを作ろう
2022年10月12日に行われた「コードレビュー LT会 - vol.3」の発表資料です。
chihiro
October 12, 2022
Tweet
Share
More Decks by chihiro
See All by chihiro
GithubActionsHandsOn資料
chihiro
0
320
わたしがエンジニアになった理由
chihiro
1
350
2020年にやりたいこと
chihiro
0
340
社内LT大会を3年間開催してきた中で考えたこと
chihiro
0
500
IamlearningGit.pdf
chihiro
0
42
便利ツールLT大会
chihiro
2
250
オススメ❤を詰め込みました
chihiro
0
450
Vimmerになりたいあなたへ
chihiro
4
2.2k
Other Decks in Technology
See All in Technology
技術書典18結果報告
mutsumix
2
180
ソフトウェアは捨てやすく作ろう/Let's make software easy to discard
sanogemaru
10
5.8k
オープンソースのハードウェアのコンテストに参加している話
iotengineer22
0
650
CloudBruteによる外部からのS3バケットの探索・公開の発見について / 20250605 Kumiko Hennmi
shift_evolve
3
190
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
AIとSREの未来 / AI and SRE
ymotongpoo
2
1.3k
データ戦略部門 紹介資料
sansan33
PRO
1
3.1k
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
1
340
Scale Security Programs with Scorecarding
ramimac
0
440
GitHub Coding Agent 概要
kkamegawa
1
1.7k
RDRA3.0を知ろう
kanzaki
2
430
Javaアプリケーションの配布とパッケージング / Distribution and packaging of Java applications
hogelog
1
250
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Art, The Web, and Tiny UX
lynnandtonic
298
21k
Done Done
chrislema
184
16k
We Have a Design System, Now What?
morganepeng
52
7.6k
Facilitating Awesome Meetings
lara
54
6.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
A Tale of Four Properties
chriscoyier
159
23k
Scaling GitHub
holman
459
140k
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
ご清聴ありがとうございました!