$30 off During Our Annual Pro Sale. View Details »

なんでもPull Requestにする / Kichijoji.pm 31

utagawa kiki
November 22, 2022

なんでもPull Requestにする / Kichijoji.pm 31

utagawa kiki

November 22, 2022
Tweet

More Decks by utagawa kiki

Other Decks in Programming

Transcript

  1. なんでもPull Requestにする 吉祥寺.pm 31 @utgwkk (うたがわきき)

  2. 自己紹介 • @utgwkk (うたがわきき) • 株式会社はてな Webアプリケーションエンジニア • 主にTypeScriptとReactを書いて 暮らしています

  3. 今回のテーマ • 「来年に向けて、今年やったこと、書いたコード」 • 書いたコード 🔜 Pull Request の話

  4. Pull Request (PR) • PR作ってますか?

  5. PRの例 https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60797

  6. PRに対するイメージ • 機能追加 • バグ修正 • ドキュメントの修正 • etc.

  7. それだけじゃない • 日々の暮らしでこのようにPRを作っている、という例をご紹介

  8. PoC (Proof of Concept, 概念実証) • ある機能を実装したい、というときに雑でもいいのでとにかく動くものをPRとして 作っておく • 実際に作る段階になったら、少しずつ実装を切り出したり整えたりして別途PRを

    作っていく • こうやったらできそう、ここは考えることがありそう、というのを確かめてから本実装 に入れる
  9. お試しPR • 日々、いろいろなことを思いつく ◦ こういう機能があると便利なのでは ? ◦ こういうふうに実装を整理すると見通しがよくなるのでは ? •

    思い立って時間ができたらカカッと実装してPRを作る • これいいじゃん、となったら本実装に入る
  10. 書き捨てスクリプトを使った調査 • データ量の見積もりや検証などを行いたい場合 • 手元でスクリプトやワンライナーを使って調査したような内容でもPRとして残してお く • 調査結果をPRのコメントに残しておく • あとから再現しやすい

  11. マージしないPRによって生み出される価値 • ここまで紹介してきたようなPRは、必ずしもマージできるとは限らない ◦ だいたいマージせずに閉じる • マージされないことを前提として実装する ◦ 雑でもいいから実装する ◦

    とにかく高速に実装する ◦ マージしたくなったら実装を整える • 実現可能である・見通しが立つようになることに価値があると思う ◦ マージしなかったので無駄、ということはないと思う
  12. PRを作っておく利点 • コードを見ながら議論できる • 手元でcheckoutして動作確認できる • 進捗の可視化 ◦ 手元のブランチだけに残さずPRにする ◦

    ここまではできた、というのをURL付きで共有できる
  13. git stashとの比較 • stashをあとからapplyするとコンフリクトしがち ◦ 開発が進むとapply困難になる ◦ PRにしておくとcheckoutして動作確認できる ▪ base

    branchとはコンフリクトするけど • PRはURLやブランチ名などで共有しやすい ◦ stashだと、手元のdiffを共有する、みたいな形になる
  14. まとめ • ここで一句: 万物を プルリクにして 残したり • いろいろな用途でPRを作っておくと便利 • 来年もたくさんのPRを作っていくことになるでしょう