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
620
レビューしやすいプルリクを作ろう
2022年10月12日に行われた「コードレビュー LT会 - vol.3」の発表資料です。
chihiro
October 12, 2022
Tweet
Share
More Decks by chihiro
See All by chihiro
GithubActionsHandsOn資料
chihiro
0
300
わたしがエンジニアになった理由
chihiro
1
340
2020年にやりたいこと
chihiro
0
330
社内LT大会を3年間開催してきた中で考えたこと
chihiro
0
490
IamlearningGit.pdf
chihiro
0
33
便利ツールLT大会
chihiro
2
240
オススメ❤を詰め込みました
chihiro
0
450
Vimmerになりたいあなたへ
chihiro
4
2.1k
Other Decks in Technology
See All in Technology
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
17
14k
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
850
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
20241220_S3 tablesの使い方を検証してみた
handy
4
610
Qiita埋め込み用スライド
naoki_0531
0
5.1k
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
190
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
32k
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Side Projects
sachag
452
42k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Making Projects Easy
brettharned
116
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
RailsConf 2023
tenderlove
29
940
How to Ace a Technical Interview
jacobian
276
23k
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
ご清聴ありがとうございました!