プログラマーのタッチタイピング:コーディング速度はWPMだけでは測れない
速いタイピストでもコーディングは遅いことがある
普通の英単語で90 WPM以上の人がコードを書くと、50 WPMの人と変わらないほど遅く感じることがあります。標準的なテストは小文字とスペースがほとんどですが、コードは違います。JavaScriptやPythonの典型的な1行には括弧、アンダースコア、引用符、等号、コロンなどが並び、camelCaseの大文字小文字の切り替えや記号のために数字段も使います。
どれも小さな遅れですが、週に何千行も書けば「速いタイピスト」と「速いプログラマー」の差になります。
コード入力を遅くする文字
- 括弧と波括弧 —
()[]{}は上段の端にあり、通常の文章ではあまり使わない小指には押しにくいキーです。 - Shiftが必要な記号 —
_=+:"は修飾キーを押し続ける必要があり、普通の文字とは違う動きです。 - camelCaseとsnake_case — 大文字小文字を切り替えたり、アンダースコアを押したりする動きは、単語テストでは練習できません。
- インデント — 各行の先頭に2つまたは4つの空白を正確に入れる操作は、普通の段落入力にはありません。
個々は難しくなくても、学校でアルファベットを練習したように繰り返す機会がないため、身につきにくいのです。
通常のタイピングテストでは解決しない理由
単語テストは一般的な単語を使うので、基本的な速度や正確さの測定には役立ちますが、単語バンクはほとんど小文字の文章です。WPMを最大限まで上げても、!==の入力や数行下の閉じ波括弧に戸惑うかもしれません。別の技能なので、専用の練習が必要です。
コードタイピングを練習する
Code Typingゲームはこの差を埋めるため、ランダムな単語ではなくJavaScriptやPythonの実際のコードを使います。エディターと同様に大文字小文字や空白も正確に入力します。
- インデントを飛ばさない。 先頭の空白も練習の一部です。毎回正確に入れることが重要です。
- 入力する前に読む。 コードには予測しやすい形があります。
(の後には)、{の後には}が来ることが多く、先読みで小さな間を減らせます。 - 小指で端のキーを覚える。 括弧や記号は上段の両端に集まっています。意識的に練習すると探す動作から筋肉の記憶に変わります。
- 両方の言語を使うなら両方練習する。 Pythonのコロンとインデント、JavaScriptの波括弧とセミコロンでは、少し異なる反射が必要です。
基礎に積み重ねる
記号のドリルは、しっかりした基礎の上で行うと効果的です。まだ文字の位置を探しているなら、まずタッチタイピングレッスンを始め、波括弧、角括弧、比較演算子を扱うプログラミング記号レッスンも進めましょう。基本が身についた後にコード専用の練習を加えると、WPMと実際のコーディング速度の差を縮められます。