やらかした...をシステム的に防止するTips集


色んなミスを防止する話。

Git

「masterにpushしちゃった」

[Git] 特定のブランチに対するpushを禁止し、ミスをシステム的に防ぐ

「デバックコードをcommitしちゃった」

Git hookのpre-commtitを利用するのも手。このgistがわかりやすくて参考になります。
設定の仕方は↑のpre-pushの記事と同じなので省略。

「一時的なcommitを入れたままpushしちゃった」

Git hookのpre-pushで、このgist みたいに commit-message を検証すればいい。
設定の仕方はry)

「インデントのずれがあるままcommitしちゃった」

Prettiergofmt, rubocopみたいな自動フォーマットを言語に合わせて導入するだけでいい。

Slack

「不意のEnterで送信されちゃった」

ワークスペースの環境設定からいい感じに設定できる!

ターミナル

rm -rfで消えちゃった」

確認を求めるようにする

$  echo alias rm="rm -i" >> source ~/.bashrc && source ~/.bashrc

しかし-fオプションの前には無力..
ちなみに、「>>」を「>」にtypoするだけで詰むこともあるので注意。

ゴミ箱にいくようにする

rmtrashを使う

$ brew install rmtrash
$ echo alias rt='rmtrash' >> source ~/.bashrc && source ~/.bashrc

rmでゴミ箱に行くこと に慣れすぎないように「rt」とかにしておくのが良さそう。

「コマンド忘れちゃった」

同一セッションであれば、ここらへんで事足ります。

# 履歴検索 + 再実行
Ctrl + R

# 履歴検索だけ
$ history | grep hoge

過去セッションも含めて検索することが多いなら、ログを自動で保存しておくという手があります。
以下はiTerm2の話です。

「メニューバー」 > 「Profiles」 > 「Default」を選択 > 「Edit Profile」 > 「Session」 > 「Miscellaneous」 > 「Automatically log sessionnうんたら」にチェック > 「Change」から出力先を指定 > 再起動

注: この設定をする場合は、増え続けるファイル容量への対策がほぼ必須です。

ソースコード

「FIXMEが未修正のまま生き残り続けちゃった...」

「タスクとして即座に記録しておく」のが一番大事ですがね...

FIXMEコメントが強調されるようにする

TODO HighLightを使うなどする。

pre-pushで通知ストックする

例えば、gitのpre-pushで FIXME: until 2018_12_12 というコメントを検知したら、2018/12/12まで適当な間隔でSlackに通知流す とかする。
ただこれ、どう考えても大げさでやりすぎです。やっぱり即座にry)

Gmail

「宛先を間違えちゃった」

gmailで社外の宛先・差出人だけ表示文字色を変える

「誤字脱字が多かった」

長文の場合はチェックするのが大変なので、校正機能を入れたエディタで下書き書いてから送るとかするのが良さそう。
ほんの一例ですが、VSCodeならテキスト校正くんを使ってみたりとか。
kouseikun