プログラマーのタッチタイピング:コーディング速度はWPMだけでは測れない

速いタイピストでもコーディングは遅いことがある

普通の英単語で90 WPM以上の人がコードを書くと、50 WPMの人と変わらないほど遅く感じることがあります。標準的なテストは小文字とスペースがほとんどですが、コードは違います。JavaScriptやPythonの典型的な1行には括弧、アンダースコア、引用符、等号、コロンなどが並び、camelCaseの大文字小文字の切り替えや記号のために数字段も使います。

どれも小さな遅れですが、週に何千行も書けば「速いタイピスト」と「速いプログラマー」の差になります。

コード入力を遅くする文字

  • 括弧と波括弧 — ( ) [ ] { } は上段の端にあり、通常の文章ではあまり使わない小指には押しにくいキーです。
  • Shiftが必要な記号 — _ = + : " は修飾キーを押し続ける必要があり、普通の文字とは違う動きです。
  • camelCaseとsnake_case — 大文字小文字を切り替えたり、アンダースコアを押したりする動きは、単語テストでは練習できません。
  • インデント — 各行の先頭に2つまたは4つの空白を正確に入れる操作は、普通の段落入力にはありません。

個々は難しくなくても、学校でアルファベットを練習したように繰り返す機会がないため、身につきにくいのです。

通常のタイピングテストでは解決しない理由

単語テストは一般的な単語を使うので、基本的な速度や正確さの測定には役立ちますが、単語バンクはほとんど小文字の文章です。WPMを最大限まで上げても、!==の入力や数行下の閉じ波括弧に戸惑うかもしれません。別の技能なので、専用の練習が必要です。

コードタイピングを練習する

Code Typingゲームはこの差を埋めるため、ランダムな単語ではなくJavaScriptやPythonの実際のコードを使います。エディターと同様に大文字小文字や空白も正確に入力します。

  1. インデントを飛ばさない。 先頭の空白も練習の一部です。毎回正確に入れることが重要です。
  2. 入力する前に読む。 コードには予測しやすい形があります。(の後には)、{の後には}が来ることが多く、先読みで小さな間を減らせます。
  3. 小指で端のキーを覚える。 括弧や記号は上段の両端に集まっています。意識的に練習すると探す動作から筋肉の記憶に変わります。
  4. 両方の言語を使うなら両方練習する。 Pythonのコロンとインデント、JavaScriptの波括弧とセミコロンでは、少し異なる反射が必要です。

基礎に積み重ねる

記号のドリルは、しっかりした基礎の上で行うと効果的です。まだ文字の位置を探しているなら、まずタッチタイピングレッスンを始め、波括弧、角括弧、比較演算子を扱うプログラミング記号レッスンも進めましょう。基本が身についた後にコード専用の練習を加えると、WPMと実際のコーディング速度の差を縮められます。