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.1k
なんでも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
Dive into gomock / Go Conference 2024
utgwkk
12
3.3k
Goでリフレクションする、その前に / Kansai.go #1
utgwkk
5
740
Go製Webアプリケーションのエラーとの向き合い方大全、あるいはやっぱりスタックトレース欲しいやん / Kyoto.go #50
utgwkk
6
2.3k
ありがとう、create-react-app
utgwkk
4
8.4k
mockgenによるモック生成を高速化するツール bulkmockgenのご紹介 / Kyoto.go #43
utgwkk
2
1.9k
SPAでもデータをURLでシェアしたい / Kyoto.js 19
utgwkk
2
1.7k
prototype大全 / YAPC::Kyoto 2023
utgwkk
1
4.2k
インプットとアウトプットのサイクルを回す暮らし / Kichijoji.pm 29
utgwkk
1
8.9k
prototypeとjust epic. と私 / YAPC::Japan::Online 2022
utgwkk
0
9.4k
Other Decks in Programming
See All in Programming
OpenAPI 3.1 and Spring-Boot 3 What's New?
bnasslahsen
0
180
Ruby と Rails の小ネタ集
daisukeshinoku
2
160
PHP Internals わいわい #1 の資料
youkidearitai
PRO
1
120
deadcode超解剖
kuro_kurorrr
1
340
日付と闘う-和暦は難しい / vs Dates - Japanese Chronology is Difficult
wkwkhautbois
0
100
Mapのパフォーマンス向上のために検討されているSwissTableを理解する
replu
2
1.2k
チームで運用する golangci-lint の向き合い方
sgash708
3
250
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
7
1.7k
record4s --- Extensible Records for Scala 3, and Domain Modeling with Structural Types
tarao
2
11k
ruby.wasm 最前線 2024 - wasmでMockServerをつくる #rubykaigi
lnit
2
450
ソートできるUUID v7をJavaで使うときの話
yoshiori
7
4.7k
Introduction to safe programming with numeric library / 数値ライブラリで始める安全なプログラミング
boykush
2
13k
Featured
See All Featured
Building Adaptive Systems
keathley
33
2k
Robots, Beer and Maslow
schacon
PRO
155
8k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Making the Leap to Tech Lead
cromwellryan
126
8.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
23
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
How GitHub (no longer) Works
holman
305
140k
Scaling GitHub
holman
457
140k
Testing 201, or: Great Expectations
jmmastey
32
6.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
27
1.7k
Ruby is Unlike a Banana
tanoku
96
10k
GitHub's CSS Performance
jonrohan
1025
450k
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を作っていくことになるでしょう