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
19
11k
Dive into gomock / Go Conference 2024
utgwkk
14
4.5k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
5
1.4k
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
7
2.7k
ありがとう、create-react-app
utgwkk
4
9.7k
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.3k
インプットとアウトプットのサイクルを回す暮らし / Kichijoji.pm 29
utgwkk
1
9k
Other Decks in Programming
See All in Programming
New Order in Cascade Sorting Order
mugi_uno
3
2.5k
LangChainの現在とv0.3にむけて
os1ma
3
720
詳解UIWindow
natmark
3
2.1k
『ドメイン駆動設計をはじめよう』中核の業務領域
masuda220
PRO
5
870
全力の跳躍を捉える計測アプリを作る
ogijun2018
0
1.1k
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
130
【TID2024】模擬講義:プログラマと一緒にゲームをデザインしてみよう!
akatsukigames_tech
0
410
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
370
Scala におけるコンパイラエラーとの付き合い方
chencmd
1
200
エラーレスポンス設計から考える、0→1開発におけるGraphQLへの向き合い方
bicstone
4
710
マルチモジュールにおけるテスト最適化
fxwx23
0
180
What is Parser
yui_knk
8
2.2k
Featured
See All Featured
Design by the Numbers
sachag
277
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.1k
Docker and Python
trallard
39
3k
BBQ
matthewcrist
83
9.1k
Documentation Writing (for coders)
carmenintech
65
4.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
22
580
Side Projects
sachag
451
42k
How GitHub (no longer) Works
holman
309
140k
Build your cross-platform service in a week with App Engine
jlugia
228
18k
Building an army of robots
kneath
302
42k
Making Projects Easy
brettharned
113
5.8k
Optimising Largest Contentful Paint
csswizardry
28
2.8k
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を作っていくことになるでしょう