プログラミングを学習していると、必ずといっていいほどどこかでエラーが発生し、プログラムの問題箇所を特定、解決する作業が発生します。
特にプログラミング初心者の方は、問題箇所を特定することが困難であったり、解決ができず、プログラミング自体を諦めてしまうことが多いように思います。
問題の解決には経験の有無が大きく左右するため、初心者の方には大きな壁ではあるのですが、解決にたどり着く方法はあります。
本記事では、主にプログラミングで発生する問題を対象として、解決するための8つの方法について解説します。
すべての問題が8つの方法で解決できるとは限りませんが、僕自身が長年用いてきた手段でもありますので、参考にしていただければと思います。
プログラミングのエラーを解決する8つの方法
①エラーメッセージを探して読む
②問題を切り分ける
③エラーメッセージをGoogleで検索する
④書籍や公式ドキュメントを確認する
⑤質問してみる
⑥休憩をして時間をあける
⑦最初からやり直してみる
⑧別の手段で同じ結果が得られるような方法が探してみる
各方法の詳細
①エラーメッセージを探して読む
解決に一番重要なのはエラーメッセージを確認することです。
特にプログラミング初心者はこれができていないことが多く、英語で出力されるメッセージを読むことなく諦めてしまっていることが多いように思います。
大抵の場合は、エラーメッセージに解決するためのヒントが書いてあります。
英語が苦手であれば翻訳ソフトにそのままコピーして、日本語に翻訳してみても良いと思います。
エラーメッセージはある程度パターン化されていることも多く、例えば、以下のようなものがあります。
No Such~ → ファイルや変数などで存在しないものを使おうとしている(記述ミスなど)
null や undefined などの文字が含まれている → 変数の値を定義していない(代入ミスなど)
また、どこでエラーが発生したかというプログラムの行数も表示されていることが多いため、その行の周りを中心に確認すると良いです。
②問題を切り分ける
ソースコードのどこの行で問題が起きているのか、どの記述に問題があるのかが、特定できていない場合には、デバッグコードを入れるなどして問題箇所を特定します。
具体的には、デバッグツールが利用できれば実行したり、表示するためのprint文などを原因と思われる周辺に入れて、どこまで正常に実行できているかを確認します。
そして、ある程度絞り込めたら、問題となっているソースコードの一部を書き換えて再度実行し、同じエラーとなるか、別のエラーが発生するかなどを確認しながら問題を局所化していくことで原因や解決方法を探っていきます。
③エラーメッセージをGoogleで検索する
エラーメッセージの意味が分かっても、対処方法がわからない場合もあります。
そのような時には、エラーメッセージの変数(状況によって変化する部分)を除き、そのままGoogleで検索してみてください。
世の中には同じ状況で困っている人もたくさんいることが多く、大抵の場合は、何かしらの検索結果が出てきます。
運がいいと同じメッセージ、同じ問題で、解決方法が見つかる場合もあります。
ここでも英語のサイトを敬遠することなく、翻訳ソフトを駆使して調べてみてください。
少しでもヒントが見つかったら試してみることをおすすめします。
試しているうちに解決方法がわかったりする場合もあります。
④書籍や公式ドキュメントを確認する
Googleで解決できなかった場合や、ひとまず解決したものの、この解決方法で良いのかという疑問をもった場合は、書籍や該当する技術の公式ドキュメントを確認してみてください。
問題を解決する直接的な方法にはならないかもしれませんが、そもそも手順や方法がおかしい場合などもありますので、正しい進め方や記述の仕方を再度学習します。
⑤質問してみる
自分の力ではどうしても解決できない場合は、他人の力を借ります。
周りに詳しい人がいれば、これまでに実施した状況を説明し、助言を求めます。
周りに詳しい方がいない場合は、teratailやStackoverflowで質問してみます。いずれも無料の質問サイトなので、解決できるかどうかは保証されていません。
必ず解決したいという状況であれば、ココナラやランサーズ等の有料サービスで解決を依頼してみるという手段もあります。
⑥休憩をして時間をあける
一旦デスクから離れ、休憩を取ることでこれまで考えつかなかった方法を思いつく可能性があります。
また、休憩後にソースコードを改めてよく見ると、意外にミスに気づけたりする場合もあります。
僕もちょっとしたミスが気づけず、休憩後に改めて見るとミスに気づいて解決、ということはよくあります。
⑦最初からやり直してみる
環境的な部分が原因であると思われる場合に、環境構築時にタイミングが悪くうまく構築できていなかった、気づかずに手順を1つ飛ばしていた、などで問題が起きている可能性があります。
使っている環境を変えてみることや、一度アンイストールし、再インストールして環境を作ってみるということで解決する場合もあります。
ソースコードを修正しても全くエラー内容が変わらない場合や、デバッグしても、自分が作成したソースコードまでたどり着かないなど、ソースコード以外の部分が原因と思われる際には試してみると良いと思います。
⑧別の手段で同じ結果が得られるような方法が探してみる
ここまで実施しても解決できない場合には、使っている環境やツール等の不具合が原因である可能性もあるため、それ以上は深追いせず、別の手段で目的を達成できないかを考えます。
プログラミングを始め、環境やツールにおいても、方法は1つではないと思いますので、代替可能な実装方法や環境、ツールを探し試してみることをおすすめします。
今回解決できなかった問題も、別の手段によるスキルが身につくことで、後で解決できるようになるかもしれません。
問題解決能力こそ重要なスキル
プログラミングをしていく中で、問題が起きずに最後までたどり着くということはほとんどありません。
プログラミングしている時間よりも、問題解決している時間のほうが長い場合もあります。
この問題解決のスキルは重要なのですが鍛えづらい部分でもあります。
実際には「以前に発生したエラーと一緒だ」とか「似たパターンだ」など過去の経験に基づいて対応していくことが多いです。
やはり、たくさん学習し、地道に問題解決の経験を積んでいくことが重要だと考えます。
今回はプログラミングのエラーを解決するための8つ方法を紹介しました。行き詰まったときの対応方法として参考にしていただければ幸いです。
コメント