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
6.6k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
なんでもPull Requestにする / Kichijoji.pm 31
吉祥寺.pm 31
https://kichijojipm.connpass.com/event/265657/
utagawa kiki
November 22, 2022
More Decks by utagawa kiki
See All by utagawa kiki
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
660
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
4.1k
tparseでgo testの出力を見やすくする
utgwkk
2
1.8k
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
4
2.3k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
3k
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
2
4.5k
君たちはどうコードをレビューする (される) か / 大吉祥寺.pm
utgwkk
21
17k
Dive into gomock / Go Conference 2024
utgwkk
14
8.7k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
4
3.7k
Other Decks in Programming
See All in Programming
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
1.3k
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
150
JavaDoc 再入門
nagise
0
310
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
350
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
180
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
AIで効率化できた業務・日常
ochtum
0
120
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
19
6.4k
Featured
See All Featured
Practical Orchestrator
shlominoach
191
11k
For a Future-Friendly Web
brad_frost
183
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Become a Pro
speakerdeck
PRO
31
6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
170
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
RailsConf 2023
tenderlove
30
1.5k
Designing for humans not robots
tammielis
254
26k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
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を作っていくことになるでしょう