吉祥寺.pm 31 https://kichijojipm.connpass.com/event/265657/
なんでもPull Requestにする吉祥寺.pm 31 @utgwkk (うたがわきき)
View Slide
自己紹介● @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を作っていくことになるでしょう