以前このBlogで紹介した「あたり1%くじ」のプログラミング授業を行いました。
あ〜、やっぱりな、というミスを生徒がしてくれます。
JavaScriptが動作しない原因ランキングと題して、トップ3をまとめます。
1位:コード途中の大文字を間違える
JavaScriptのコードの特徴として、コード途中に大文字をはさみます。
例えば「getElementById」とか「addEventListener」なんかがそうです。
プリントを見ながら前の教員機で実演しながら説明するわけですが、だいたい聞きそびれます。
特に「getElementById」」を「getElementByld」とミスタイプするパターンが続出です。
最後の2文字がアイディーが正解なのですが、小文字でエルディーになっているわけです。
基本編で扱っているコードなのに、覚えてくれてはいないようです。
今回のコードでは5箇所ありますので、最悪全て間違っていました。
同様に、「Math.random」など時折現れる大文字の見落としが多かったです。
2位:各行末の「;(セミコロン)」がないor全角
JavaScript特有の現象ではないでしょうか。
コードの各行末はセミコロンで区切っていくことになります。
これが全角で入力されてしまうと動作しません。
今回のプログラムで全角が求められるのは8行目のみです。
だいたいここから先が怪しくなっていきます。
半角で「;」この記号が出ないと思ったのか、初めから全角というツワモノもいました。
あとは、見落として書き忘れた行があるパターンですね。
書き忘れると動かないことが多いです。
これがJavaScriptのちょっとした手間ですね。
3位:必要な半角スペースがない
Pythonだと半角スペースの配置によってプログラムの挙動が変わります。
それだけこの半角スペース(インデント)が重要な言語です。
JavaScriptではそこまで求められていません。
究極、1行でどわーって書いても動きます。
激しく見にくいですけどね。
じゃぁどうなってしまうかというと、それでも必要な半角スペースはあるわけです。
例えば、変数宣言のところでletと変数名の間「let count」。
ここを詰められてしまうと動きません。
他の半角スペースは気にしなくてもいいのですが、1行目からやってくれます。
まとめ
プログラマーの方の仕事の1つにバグを探し続けるデバッグがあります。
プログラミングの授業で、先生に求められるスキルでもあるように思います。
生徒がどこで躓いて、どこでミスをするのか。
何クラスか様子を見ているとパターンが見えてきます。
1対約40で1/4ぐらいは動作しないことが予想されるため、生徒のミスパターンを理解しておくことも大切な授業準備になりそうです。
コメント