見出し画像

未経験、初心者エンジニア向け、プログラミングで発生したエラーの具体的な解決方法

こんにちは。
今回は未経験、初心者、新卒エンジニアなどの人に向けてどうプログラミングでのエラーを解決していけば良いかを詳しく説明します。
未経験や経験が浅い人の場合、エラーをどう読み解き解決していけば良いかわからないことが多いのではないでしょうか?
私自身も未経験から一人前のエンジニアになるまでにエラーの解決に困ることは幾度となくありましたし、今までの会社で新卒のメンバーを指導していてもなぜこのエラーが解決できないんだろう、なぜエラーログすら
しっかりと読まず聞いてくるんだろうと思うことが多々ありました。
エラーが自分で解決できないことは当然あるのでその場合は誰かに相談したり、回避策を取るなどすれば良いですが、エラーログすら読んでこない、エラーの内容すら理解できていない場合だと上司や他の人に正しく説明もできず困らせてしまいます。
そうならないためにも、この記事で具体的にどのようなステップでエラーを解決していけば良いか説明していきます。

1. エラーログの確認

まず未経験や経験が浅い人の場合これすら確認せずに聞いてくる人が多いですがこれだけは絶対にしましょう。
意味がわからなくても、エラーが何か聞かれた時にこれすらも答えられなかったら上司や他の人もガッカリしてしまいます。
例えばJavaの場合だとCaused byが根本の原因を説明していることが多いのでまずはそれチェックしましょう。Caused byが複数ある場合は一番下にあるCaused byをまずは見ましょう。

2. エラーの内容を理解する

これはわからなければエラーログをそのままコピペしてGoogleやいまならChatGPTで調べましょう。
例えばJavaの場合、エラーログの中でもまずはCaused byに書かれていることを検索すると良いです。さらにJavaのエラーの中でも例えばNullPointerExceptionの場合、nullオブジェクトの参照を通じてメソッドやフィールドにアクセスしようとした際に発生します。

3. ソースコードを確認する

2.のエラーの内容が理解できたらエラーが発生した行を見て、どう問題なのかを調べます。
例えば上記からのNullPointerExceptionの例だとどのオブジェクトがnullかを調べます。
それがわかったら、そのオブジェクトがどこでどう定義され、どのように使用されているかを確認します。

4. デバッグを行う

3.でエラーの原因となっているコードをすぐに特定し理解できたら良いですが、そう簡単にいかない場合が多いです。
その場合ある程度エラー箇所を特定できたら、デバッグでプログラムをステップ実行し、変数の値などを確認します。
これにより、原因を特定しやすくなります。
こちらは開発で使っているソフト、エディターによってだいぶデバッグのしやすさやできることが変わってきます。
例えばJavaの場合だとintellijが一番有名でおすすめですが、お金がかかってしまうのでeclipseでも代用は基本可能です。

5. 原因に対処する、コードを修正する

原因を特定したら、その原因を修正します。
例えば上記からの例でNullPointerExceptionの場合だと、オブジェクトが初期化されていない、間違ったスコープで使用されている、または条件分岐が間違っているなどの可能性があります。

6. テストする

ここまできたらあとは直っているか確認するだけです。
コードを修正したら、変更した部分を中心にプログラムをテストし、問題が解決されたことを確認します。
このとき今後誰かがコードを修正した時同じような問題が発生する可能性があるので、ユニットテスト等を書いておくことで今後同じエラーが発生する可能性を減らすことができるので良いです。

7. レビューとリファクタリング

解決後、コードの他の部分に似たような問題がないかをレビューし、必要に応じてリファクタリングを行います。
こちらはあくまでもできたらで良いでしょう。

8. 学びを活かす

この経験から学んだことを将来のコーディングに活かし、同様のエラーの発生を未然に防ぎます。


エラーの解決は未経験や初心者にとっては難しいかもしれませんが、これらのステップに従って問題に取り組むことで、さまざまなエラーに対応することができ、より強固なコードを書く能力を身につけることができます。
エラーは恐れるものではなく、学びと成長の機会として捉えましょう。

如何でしたでしょうか?
今後も未経験からエンジニアを目指している人などさまざまに人に向けてエンジニアに役立つ情報を発信しています。
記事がお役に立てたら、応援の「いいね」をいただけると幸いです。
また他の記事も読んでいただけましたら幸いです。

この記事が気に入ったらサポートをしてみませんか?