サンプルコードの写し間違いに気づけない人へ―IntelliSenseを「読まずに選ぶ」道具にする
サンプルコードを見ながら写しているはずなのに、なぜかビルドが通らない――そんな場面に出会うことは、課題をやっていれば一度はあるものです。画面には見慣れないエラーメッセージ。自分のコードとサンプルコードを何度見比べても、なかなか原因が見つかりません。そして苦労の末にようやく見つかるのは、変数名のスペルミスだったりします。
プログラミング入力は「間違い探し」になりがち

教科書やサンプルコードを見ながら入力していると、学習しているつもりが、いつの間にか「間違い探し」になってしまうことがあります。毎回すべてを目で照合するのは効率がよくありません。だからこそ、IntelliSenseや赤い波線を使って、ミスを早く見つける習慣が大切です。
これは決して集中力が足りないわけではありません。人の目は、見慣れた文字列を見ると自動的に「それらしく読んでしまう」性質があります。例えば numberOfEnemiesDefeatedInStage と numberOfEnemiesDefetaedInStage は、中間辺りの文字が入れ替わっているだけですが、やっていることは「目で文字列を一文字ずつ照合する」という、人間がもともと苦手とする作業です。長くなれば長くなるほど、見逃す確率は上がります。
IntelliSenseは「読む」代わりに使う

IntelliSenseはVisual StudioやVS Codeに備わっているコード補完機能です。入力中の文字に一致する変数名・メソッド名を候補として一覧表示してくれます。ここで重要なのは、「タイピングを楽にする機能」ではなく、「存在しない名前を打てなくする仕組み」として捉え直すことです。候補に出てこない、あるいは波線下線が引かれる―それ自体が、自分でスペルを見直す前の、一番確実なアラートです。
実例:長い変数名で体験する
ステージ内で倒した敵の数を数える変数を例にします。あえて長めの名前にしています。
int numberOfEnemiesDefeatedInStage = 0;
numberOfEnemiesDefeatedInStage++;
ところが、別の場所でこの変数をもう一度使おうとしたときに、次のように打ち間違えてしまったとします。
Console.WriteLine(numberOfEnemiesDefetaedInStage); // わざとタイポ(DefeatedがDefetaedになっている)
このコードは実際にはビルドエラーになります。numberOfEnemiesDefetaedInStage という名前の変数は存在しないからです。でも、このタイピングミスを、何行目にあるかすぐに指させますか? IntelliSenseを使っていれば、この行を入力している最中に、エディタが波線下線を引いて教えてくれます。後から見直す必要さえありません。
今日からできる、IntelliSenseの使い方
IntelliSenseを本当の意味で活用するには、次の3つを意識するだけで十分です。
- 全部打たない。変数名の最初の数文字だけ入力して、候補が出たら Tab または Enter で確定させる。自分で打つ文字が少ないほど、タイポの余地は減ります。
- 波線下線を見た瞬間に手を止める。赤や青の波線は、自分でコードを見直す前にエディタが出してくれるヒントです。「とりあえずビルドしてエラーを探す」よりも、ずっと早く問題に気づけます。
- 候補が出ないときは Ctrl+Space で呼び出す。自分のタイピングが正しいのに候補が出てこない場合も、逆にその変数がまだ定義されていないというサインになります。
授業で使える「C#入力チェックシート」
サンプルコードを入力するとき、赤い波線を残したまま先へ進んでしまう場合は、次のチェックシートも使ってみてください。目で完成コードを追い続けるのではなく、IntelliSenseを確認役にして入力するための実践教材です。
大切なのは、完成コードを上から順に写すことではありません。Visual Studioが名前を認識できる順番を優先し、次の流れで入力します。
- 定義する(変数・メソッド・クラスなどの名前を先に用意する)
- IntelliSenseで確認する(候補に名前が表示されるか確かめる)
- 使用する(候補から選んで入力する)
- 赤い波線がないことを確認する(残っていれば次へ進む前に原因を切り分ける)
自作メソッドも同じです。まずメソッドを定義し、IntelliSenseに名前が出ることを確認してから呼び出します。「定義 → 呼び出し」の順番を意識すると、名前の認識を確認しながら進められます。
IntelliSenseの候補に名前が出ないとき
候補に出ないことも、エラーを早く見つけるための大切な情報です。次の5点を順番に確認してください。
- 定義:その変数やメソッドを先に定義しているか
- スペル:文字の並びや大文字・小文字が一致しているか
- スコープ:今入力している場所から、その名前を参照できるか
- static:staticの有無や呼び出し方が合っているか
- ピリオド左側の型:左側の変数やオブジェクトの型に、使いたいメンバーがあるか
自作メソッドの「定義」と「呼び出し」をもう少し詳しく確認したい場合は、「C#のメソッドとは?StudentクラスのShowScore()から理解しよう」も続けて読んでみてください。
まとめ
変数名は、目で読むものではなく、エディタの候補から選ぶもの―そう捉え直すだけで、写経中のスペルミスはかなり減らせます。最初は意識して使う必要がありますが、慣れてしまえば、タイピングの途中で自然と候補を確認するのが当たり前になります。エラーを見つけてから直すのではなく、エラーが生まれない入力にしてしまう―これが IntelliSense を使いこなすということです。










ディスカッション
コメント一覧
まだ、コメントがありません