Upgrade to Pro — share decks privately, control downloads, hide ads and more …

なんでも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 (うたがわきき)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. お試しPR
    ● 日々、いろいろなことを思いつく
    ○ こういう機能があると便利なのでは
    ?
    ○ こういうふうに実装を整理すると見通しがよくなるのでは
    ?
    ● 思い立って時間ができたらカカッと実装してPRを作る
    ● これいいじゃん、となったら本実装に入る

    View full-size slide

  10. 書き捨てスクリプトを使った調査
    ● データ量の見積もりや検証などを行いたい場合
    ● 手元でスクリプトやワンライナーを使って調査したような内容でもPRとして残してお

    ● 調査結果をPRのコメントに残しておく
    ● あとから再現しやすい

    View full-size slide

  11. マージしないPRによって生み出される価値
    ● ここまで紹介してきたようなPRは、必ずしもマージできるとは限らない
    ○ だいたいマージせずに閉じる
    ● マージされないことを前提として実装する
    ○ 雑でもいいから実装する
    ○ とにかく高速に実装する
    ○ マージしたくなったら実装を整える
    ● 実現可能である・見通しが立つようになることに価値があると思う
    ○ マージしなかったので無駄、ということはないと思う

    View full-size slide

  12. PRを作っておく利点
    ● コードを見ながら議論できる
    ● 手元でcheckoutして動作確認できる
    ● 進捗の可視化
    ○ 手元のブランチだけに残さずPRにする
    ○ ここまではできた、というのをURL付きで共有できる

    View full-size slide

  13. git stashとの比較
    ● stashをあとからapplyするとコンフリクトしがち
    ○ 開発が進むとapply困難になる
    ○ PRにしておくとcheckoutして動作確認できる
    ■ base branchとはコンフリクトするけど
    ● PRはURLやブランチ名などで共有しやすい
    ○ stashだと、手元のdiffを共有する、みたいな形になる

    View full-size slide

  14. まとめ
    ● ここで一句: 万物を プルリクにして 残したり
    ● いろいろな用途でPRを作っておくと便利
    ● 来年もたくさんのPRを作っていくことになるでしょう

    View full-size slide