【初心者必見】失敗は成功の母!!よくあるミスとその対処法
はじめに
プログラミングは、たった一文字間違うだけで動かなくなるほど繊細な作業です。
テキスト通りにコードを打ち込んでも何故だか動かない・少しコードを変えただけなのに、全く動かなくなってしまったというほろ苦い体験は誰もが通る道です。
本記事では、プログラミング初心者がやってしまいがちなミスと解決方法についてご紹介します。
事例のご紹介
よくある間違いその1. 変数に対しての代入と条件分岐の等号が混在してしまうケース
最もよく見かけるのは、以下の様に「=」の数を間違えてしまうケースです
変数に値を代入したい場合と変数の値が等しいか確認したい場合のどちらも、「=」記号を使って実装されます。 =の個数によって機能が切り替わるという仕組みは多くの初心者を悩ませていると感じます。
※「=」と書いた場合は変数への代入扱いとなり、「==」と書いた場合は等価比較扱いとなります。
アドバイス:エラーメッセージをしっかり読みましょう!!
以下の画像の用に、エラーコードには赤線が引かれます。赤線にカーソルを合わせると解決策を提示してくれます。必ずエラーメッセージを確認する癖をつけましょう。
「Cannot implicitly convert type 'int' to 'bool'」というエラーメッセージが出ています。
英語のメッセージのため読みづらいかもしれませんが、日本語にすると型「int」を暗黙的に「bool」に変換することはできませんという意味になります。
初心者の内はエラーの意味を全て理解するのは難しいです。最初の内は条件分岐の()の中にはbool型しか入れられないんだなと理解しましょう。
※=の場合、変数に値を入れるだけなので型が変わらない。==の場合、左辺と右辺が同じかどうか?チェックし、結果をbool型で返しているんだな。と理解出来たら素晴らしいです。
より理解を深めたい方は、以下のコードを試してください。教材に採用されることのない煩雑な例ですが、省略される部分が少ないため学習用にはおすすめのコードです。
よくある間違いその2. 条件分岐の順番を間違えてしまうケース
ターン制コマンドバトルを作っている生徒より、「なぜか体力が0になったのに回復呪文を唱えてしまいます、、、どうしてでしょうか?」と質問を受けました。ソースコードは以下です。皆様はおかしな所に気付けますか?
アドバイス:処理の流れを紙に書き出しましょう!!
体力が0になった場合に実行される処理の前に、体力が30未満の場合に実行される処理が記載されていることがミスの原因です。
以下のようなコードであれば正しく動くのですが、頭の中で処理の流れを描きながらコードを書くことはとても難しいです。ミスのないコードを書くために、処理の流れを一度ノートにまとめるなどして頭を整理しましょう!!
※上記コードも、体力がマイナスになってしまった場合に回復呪文を唱えてしまうという問題を抱えています。どういうコードにすればより良いコードになるか考えてみましょう。
まとめ:見直しが大きな成長につながる
動かないプログラムに対し、ほんの少し修正するだけで直る事はよくあります。大事なことは、自分の書いたコードを一度見直すことです。また、自分以外の人にもコードを評価してもらう事も上達の近道です。
インターネット上にあるプログラムをコピペして動かす体験も大切ですが、なぜ動いているのか?を説明出来ないと自分の力になりません。先生から丁寧な解説を受けながら学びたい方、ぜひN Code Laboの無料体験授業・無料説明会にお越しください!!
無料体験講座のご案内
弊校では、このようなエラー対処法を含めた実践的なプログラミングスキルを講師陣が丁寧に指導いたします。
申し込み方法
- 公式HPの体験授業・無料説明会申し込みページにアクセス
- 希望日時を選択
- ご受講
皆さまのご参加をお待ちしております!
最後まで読んでいただき、誠にありがとうございました。
最終更新: