ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

エンジニアはプログラムエディタとその設定にトコトン気を使うべし

タイピングの速さとコーディングの速さはしっかり相関関係がある、という話。

人種国籍問わず、エンジニアでもたまーにエディタ愛が乏しい人がいる。基本的にエディタ愛が強いのはVimとEmacs ユーザーが多いが、ここではどんなエディタであってもいいし、とにかく設定とか気を使った方がいいですよ、と。

同僚のスウェーデン人エンジニアのFはSublimeTextを使っている。そんなFが私がVim設定に命を懸ける態度を見て
F「別にエディタおたくになるよりもっと大事な技術に注目した方がいいんじゃねーの?」
などど冷めたことを言うから反論した。

Fの反応は「ふーん」程度だったが、まーまー私のコーディング哲学に近い部分の話なのでブログに記載した。

つまり私の持論としては

タイピングの速い奴はコーディングも速い

ゆえにトコトン気ぃ使えよ、と。


例えばVimの場合、ファイルを保存するコマンドは

:w

だ。
これだとキーストロークが4回になる。

1 <Shift> 2 : 3 w 4 <CR> 

Shiftを押して:(コロン)、w、改行キーの4回。

これを改善するために私は設定を

<Space>s

スペースキーの後にsを押すこと、にしている。長いスペースキーは指がどこにいてもどちらの手の親指ででも押せる。それに対してShift+:は指の動きとしても少し難解で、スペースキーに比べてコンマ何秒かキーを押すのが遅くなる。

「どーせコンマ何秒かの違いだろ」と侮ってはいけない。

通常、保存コマンドのような基本コマンドは1時間に10回は行う。1日に6時間コーディングをするとして、1日60回。1週間に5日コーディングするとして、1週間で300回。1ヶ月で1200回。1年で14400回。
キーストロークにすると57600回キーをたたく。

エンジニアなら6万回近くムダに叩くキーを半減させられることの価値を理解しなければいけない。

タイピングが遅いとそれに合わせて思考も遅くなる。

私はこれをペアプログラミングの時に実感した。
タイプする人がそのエディタに慣れていなくて、ポチポチとゆっくりキーを打って、また別のファイルを開く時にもマウスを使って「えーっとどれだっけ」とやられると、こっちの頭もそのテンポになって「えーっと次はなんのコーディングするんだっけ?」と思考もゆっくりモードになってしまう。

逆に光速でパチパチとタイピングして、次のファイルもサッと出されるとこっちの頭のシャキっとして、次はこれ!そして次はこれ!と頭の回転まで速くなるのを感じるのだ。

ペアプログラミンですら、そうなのだし、自分でタイピングする際はさらにタイピング速度と思考速度が関係してくる。

職人が仕事で使う道具にこだわりを見せるようにプログラマーならエディタにこるべし!と今日Fに言った。
現状では英語でgitコメントを入力するスピードは私よりFの方が遥かに速いのだが、言いたいのはそんなどちらのタイピングが速いか遅いかの話ではない。

タイピングなんて。。。とかエディターなんて。。。と考えるのではなく、ひとつひとつのキーに対しても気を使ってコンマ何秒でも速くする方法を模索してみてはいかがだろうか?

実践Vim 思考のスピードで編集しよう! (アスキー書籍)

実践Vim 思考のスピードで編集しよう! (アスキー書籍)