$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

「価値が最低の段階で問題発見し解決すべき」と「ソフトウェア開発のプラクティス」

最近「HIGH OUTPUT MANAGEMENT」を読んでいて、製造工程では「価値が最低の段階で問題発見し解決すべき」という話が出てきた。この言葉を見て、ソフトウェア開発のプラクティスも結局こういう話だなと思った。例えば

  • リーン開発は、価値最小の段階でユーザーに見せてしまって検査し、問題発見する
  • TDDは価値最小の段階で自動テストによって検査する
  • 機能横断型チームは、価値最小の段階でいろんな専門性の観点から問題発見できる
  • セキュリティのシフトレフトは、価値最小の段階でセキュリティ面の問題発見ができる
  • Design Docは価値最小の段階で方針や設計の問題発見ができる

なんとなくいろんな言葉が繋がっていって面白いなと思ったのでブログにメモしておく。

rubocopでの自動フォーマットを高速化する

VSCodeでrubocopを使って自動フォーマットをしているのだが、フォーマットが本当に遅くてめちゃ困っていたのが完全に解決して感動したので記事だけ共有。

dev.to

formatに3秒くらいかかっててマジつらい...って感じだったのが1秒未満とかになったので本当に最高。

Before f:id:shiba_yu36:20211024220032g:plain

After f:id:shiba_yu36:20211024220150g:plain

今いるレポジトリのPR一覧をpecoで絞り込んでcheckoutする便利コマンド作った

OSS活動とか仕事をしてる時に、PRをチェックアウトするのだるいなと思っていた。そこで「今いるレポジトリのPR一覧をmodified順に出力し、pecoで選択したものをcheckout」出来たら便利だろうということで作った。

できたもの

f:id:shiba_yu36:20211018194017g:plain

やり方

まずhubとpecoをインストールしておく。

zshを使っているならこんな感じで定義し、

function peco-git-recent-pull-requests () {
    local selected_pr_number=$(hub pr list --limit 40 --sort updated --format "%pC%>(8)%i%Creset  %t (by @%au)%n" | peco | sed -r 's/^ +#([0-9]+).*$/\1/')
    if [ -n "$selected_pr_number" ]; then
        BUFFER="hub pr checkout ${selected_pr_number}"
        zle accept-line
    fi
    zle clear-screen
}
zle -N peco-git-recent-pull-requests

自分で好きなキーバインドをつける。僕は Ctrl-x B に割り当てた。

bindkey '^xB' peco-git-recent-pull-requests

これでレポジトリのディレクトリにいるときにCtrl-x Bを押すと、動画のようにPRの一覧が出て絞り込んで選択してEnterを押すとcheckoutできる。便利。

https://github.com/shibayu36/config-file/pull/1