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
640
レビューしやすいプルリクを作ろう
2022年10月12日に行われた「コードレビュー LT会 - vol.3」の発表資料です。
chihiro
October 12, 2022
Tweet
Share
More Decks by chihiro
See All by chihiro
GithubActionsHandsOn資料
chihiro
0
310
わたしがエンジニアになった理由
chihiro
1
350
2020年にやりたいこと
chihiro
0
340
社内LT大会を3年間開催してきた中で考えたこと
chihiro
0
490
IamlearningGit.pdf
chihiro
0
37
便利ツールLT大会
chihiro
2
250
オススメ❤を詰め込みました
chihiro
0
450
Vimmerになりたいあなたへ
chihiro
4
2.1k
Other Decks in Technology
See All in Technology
新卒エンジニア研修の試行錯誤と工夫/nikkei-tech-talk-31
nishiuma
0
200
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
200
IAMのマニアックな話 2025 ~40分バージョン ~
nrinetcom
PRO
8
920
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
720
Symfony in 2025: Scaling to 0
fabpot
2
190
Explainable Software Engineering in the Public Sector
avandeursen
0
360
頻繁リリース × 高品質 = 無理ゲー? いや、できます!/20250306 Shoki Hyo
shift_evolve
0
150
OCI見積もり入門セミナー
oracle4engineer
PRO
0
120
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
570
「ラベルにとらわれない」エンジニアでいること/Be an engineer beyond labels
kaonavi
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
110
Featured
See All Featured
BBQ
matthewcrist
88
9.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cult of Friendly URLs
andyhume
78
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
500
Side Projects
sachag
452
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Into the Great Unknown - MozCon
thekraken
36
1.7k
A Philosophy of Restraint
colly
203
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Documentation Writing (for coders)
carmenintech
69
4.7k
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
ご清聴ありがとうございました!