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
なんでもPull Requestにする / Kichijoji.pm 31
Search
utagawa kiki
November 22, 2022
Programming
3
6.2k
なんでもPull Requestにする / Kichijoji.pm 31
吉祥寺.pm 31
https://kichijojipm.connpass.com/event/265657/
utagawa kiki
November 22, 2022
Tweet
Share
More Decks by utagawa kiki
See All by utagawa kiki
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
15
8.5k
Dive into gomock / Go Conference 2024
utgwkk
14
4.1k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
5
1.1k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
7
2.5k
ありがとう、create-react-app
utgwkk
4
9k
mockgenによるモック生成を高速化するツール bulkmockgenのご紹介 / Kyoto.go #43
utgwkk
2
2.1k
SPAでもデータをURLでシェアしたい / Kyoto.js 19
utgwkk
2
1.8k
prototype大全 / YAPC::Kyoto 2023
utgwkk
1
4.2k
インプットとアウトプットのサイクルを回す暮らし / Kichijoji.pm 29
utgwkk
1
8.9k
Other Decks in Programming
See All in Programming
継続的な活動で築く地方エンジニアの道
myamashii
2
350
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
Google's Recipe for Scaling (Web) Security – LocoMocoSec 2024
lweichselbaum
0
170
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
CSC307 Lecture 09
javiergs
PRO
1
500
ピグパーティにおけるMongoDB CommunityバージョンからAtlasへの移行事例
10969hotaka
0
130
GraphQL はいいぞ! ~Laravel で学ぶ GraphQL 入門~
azuki
1
160
スクラムマスターって孤独じゃないですか?
yoshitaroyoyo
1
140
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
DynamoDB コスト最適化っぽいことの基本 with Terraform
kuro_kurorrr
2
250
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
We Have a Design System, Now What?
morganepeng
46
7k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
A Modern Web Designer's Workflow
chriscoyier
689
190k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
What's new in Ruby 2.0
geeforr
338
31k
Transcript
なんでもPull Requestにする 吉祥寺.pm 31 @utgwkk (うたがわきき)
自己紹介 • @utgwkk (うたがわきき) • 株式会社はてな Webアプリケーションエンジニア • 主にTypeScriptとReactを書いて 暮らしています
今回のテーマ • 「来年に向けて、今年やったこと、書いたコード」 • 書いたコード 🔜 Pull Request の話
Pull Request (PR) • PR作ってますか?
PRの例 https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60797
PRに対するイメージ • 機能追加 • バグ修正 • ドキュメントの修正 • etc.
それだけじゃない • 日々の暮らしでこのようにPRを作っている、という例をご紹介
PoC (Proof of Concept, 概念実証) • ある機能を実装したい、というときに雑でもいいのでとにかく動くものをPRとして 作っておく • 実際に作る段階になったら、少しずつ実装を切り出したり整えたりして別途PRを
作っていく • こうやったらできそう、ここは考えることがありそう、というのを確かめてから本実装 に入れる
お試しPR • 日々、いろいろなことを思いつく ◦ こういう機能があると便利なのでは ? ◦ こういうふうに実装を整理すると見通しがよくなるのでは ? •
思い立って時間ができたらカカッと実装してPRを作る • これいいじゃん、となったら本実装に入る
書き捨てスクリプトを使った調査 • データ量の見積もりや検証などを行いたい場合 • 手元でスクリプトやワンライナーを使って調査したような内容でもPRとして残してお く • 調査結果をPRのコメントに残しておく • あとから再現しやすい
マージしないPRによって生み出される価値 • ここまで紹介してきたようなPRは、必ずしもマージできるとは限らない ◦ だいたいマージせずに閉じる • マージされないことを前提として実装する ◦ 雑でもいいから実装する ◦
とにかく高速に実装する ◦ マージしたくなったら実装を整える • 実現可能である・見通しが立つようになることに価値があると思う ◦ マージしなかったので無駄、ということはないと思う
PRを作っておく利点 • コードを見ながら議論できる • 手元でcheckoutして動作確認できる • 進捗の可視化 ◦ 手元のブランチだけに残さずPRにする ◦
ここまではできた、というのをURL付きで共有できる
git stashとの比較 • stashをあとからapplyするとコンフリクトしがち ◦ 開発が進むとapply困難になる ◦ PRにしておくとcheckoutして動作確認できる ▪ base
branchとはコンフリクトするけど • PRはURLやブランチ名などで共有しやすい ◦ stashだと、手元のdiffを共有する、みたいな形になる
まとめ • ここで一句: 万物を プルリクにして 残したり • いろいろな用途でPRを作っておくと便利 • 来年もたくさんのPRを作っていくことになるでしょう