【初心者向け】プログラミングエラー解決に必要な手順と注意点(参考例付き)

※本サイトはアフィリエイトリンクを掲載しています。
入門

本記事の内容

・この記事の信頼性

・エラー自己解決に必要な4つの手順(参考例をつけて解説)

・実務を意識した「質問の仕方」のテンプレート

・やってはいけない、3つの質問の仕方

 

この記事の信頼性

こんにちは。Web系エンジニアのカズです。数年前に未経験からプログラミング学習を始めて転職し、現在は単価80万円~90万円の案件を受注して活動しているエンジニアです。

エンジニア歴は約7年になります。

初心者に限らず、どんなエンジニアでもプログラミング中には必ずこんな壁にぶつかります。

プログラミング中にぶつかる壁

  • エラーが出ているけど、解決できない
  • うまく動作させることができない。

これがずっと続くと中々に辛いですよね。。。人に聞くのも解決法の1つですが、まずは自己解決力を身に付けないといけません。

本記事を読んで、なるべく自己解決できるように初心者の方向けにポイントを具体的に解説していきます。

 

エラー自己解決に必要な4つの手順(参考例をつけて解説)

エラー自己解決の手順

①エラー内容を理解する。(翻訳する。またはエラー文をコピペしてググる)

②エラーが出ている行のソースを見直す。またはデバックする。

③エラーを防ぐためにVSCodeを使おう

④エラーを防ぐためにショートカットキーをうまく使おう

こちらの4つの手順について、下記のサンプルプログラムを題材にしながら解説します。

 

色を占うサンプルプログラム

今日のラッキーカラーを占います。
今日のラッキーカラーは○○です。
ソースコード(color.htmlファイル)

 

①エラー内容を理解する。(翻訳する。またはエラー文をコピペしてググる)

まずはエラー内容を理解しましょう。

エラー内容を英語のままググれば何のエラーなのか、概要はたいてい答えがでてきます。

参考例として、よくあるエラーを載せておきます。

よくあるエラー例(Javascript)

SyntaxError:文法が間違っているエラー

ReferenceError:宣言されていない、存在していない変数を記載したときのエラー

 

SyntaxError:文法が間違っているエラー

題材のサンプルソースの21行目をわざと文法エラーにしました。

21行目がドットが二つ並んでしまっていますね。これが文法エラーになっています。

 

ReferenceError:宣言されていない、存在していない変数を記載したときのエラー

題材のサンプルソースの23行目をわざと存在していない変数にしました。

23行目のcolsという変数は存在しないですね。colorsの間違いです。

 

②エラーが出ている行のソースを見直す。またはデバックする。

エラーが出る場合は大抵は、何行目にエラーが出たのかの行数がでます。

対象の行数か、その手前が間違っていないか疑いましょう。

デバック方法はJavascriptの場合console.log();でデバックすることができます。

これを使って、どこまでが正常に動作しているのか確認しましょう。

 

③エラーを防ぐためにVSCodeを使おう

VSCodeでなくても良いのですが、文法エラーを検知してくれるエディターを使用しましょう。

21行目の文法エラーのところで赤い下線がでています。文法エラーがコードをみて分かります。

 

④エラーを防ぐためにショートカットキーをうまく使おう

例えば、下記は25行目の } が書かれていません。しかしインデントがずれていて発見しずらいです。

これはショートカットキーを使えば一発でインデントを整形することができます。

Windowsの場合:Shift + Alt + F
Macの場合 : Shift + option + F
整形後

25行目に } が書かれていないのが一目でわかりますね。

記述ミスを防ぐためにもインデントをそろえて実装しましょう。

 

実務を意識した「質問の仕方」のテンプレート

どうしても自己解決できないときは、質問しましょう。

1時間くらい自分で頑張ってみて、ダメなら相談してよいと思います。自分で頑張る目安時間は、状況や人によると思います。

質問する時に、おすすめなテンプレートがあります。下記は一例です。他にもパターンはあるでしょう。

私が質問される側なら、この4点が知りたいです。

①実現したいこと(期待値を示す)

②現状どのように、上手くいかないのか

③どの処理まで正常に動いているのか

④原因だと思われそうな箇所

長文で送られてきても読むのが大変なので、キャプチャもあると尚良いです。勤務先や質問相手によるかもしれませんが、この質問をチャットで送った後に画面共有しながら通話で質問するのが一番効率的なんですよね。

文字では解決に時間がかかるので、お互いのために時間を削減するのなら通話をお願いするのが良いかもしれません。(時と場合による)
この質問の仕方を初心者の学習段階から身に付けましょう。
いざ現場に入って実務をするときに、相手に嫌がられる質問の仕方をしてしまうと聞いても教えてもらえなくなってしまうこともあり得ます。
質問する時に、気をつけるべき注意点も挙げておきます。

 

やってはいけない、3つの質問の仕方

「自分が辛い状況だとやってしまう。」あるいは「楽をしたくてやってしまう。」こともあるかもしれません。
この3点には注意していきましょう。

本人が投げやりになってしまっている質問の仕方

相手への負担を減らす配慮が見られない質問の仕方

答えだけを求めていて、理解をしようとしない質問の仕方

3つに共通して言えることですが、自分が頑張っている姿勢が見えないと相手も答える気にならないということですね。

 

 本人が投げやりになってしまっている

どうしても上手く動かないときに、質問するのは問題ないです。
ただし質問するからといって、全てを相手にお任せするスタンスになってしまう事がたまにあります。
エラーと格闘して苦労したあまりに、そうなってしまうんですよね。私も初心者の頃はやってしまっていたかもしれません。
「自己解決したい」「ちゃんと理解したい」など前向きな姿勢が伝われば、相手はそんなに嫌な思いはしないかと思います。

 

相手への負担を減らす配慮が見られない

「質問をわかりやすく、まとめていない」「納期ギリギリに質問攻め」などですかね。

質問テンプレートを参考にしながら、なるべく相手にわかりやすい形で質問しましょう。

 

答えだけを求めていて、理解をしようとしない質問の仕方

理解より答えを優先してしまうと次に似たようなことが起きたときに、同じような質問をしてしまう可能性があります。

そうなると良くないですね。

同じようなことが起きたら、次は自己解決できるようにプロセスを理解しながら質問しましょう。

コメント