
エラーを解決するためにはエラーメッセージを読むといいと聞いたのですがメリットが分からない上に難しくて読む気が起きません。
なぜエラーメッセージを読む必要があるのでしょうか。
このような疑問にお答えします!
エラー解決はプログラミング上達のキモとなります。
エラーメッセージが読めるようになればエラー解決に役立ちます。
いままで見てきたプログラミング初心者にエラーメッセージの読解を練習してもらったところ、みんなエラー解決ができるようになりました。
本記事ではなぜエラーメッセージを読むことが良いのか、そのメリットを解説します。
本記事を読めばエラーメッセージを読むことの大切さを理解し、エラー解決ができるようになりますよ!!
不要な作業を減らすことで時短できる
1つ目は「不要な作業を減らすことで時短できる」です。
エラーメッセージを読むことで間違った方法に時間を使うことなく本質的なことに時間を使うことができるようになります。
プログラミング初心者がやりがちな間違い
プログラミング初心者がやりがちな間違いが
間違っていそうなコードを手当り次第修正してみて動くかどうか確かめてみる
ということ。
これは博打のようなやり方となり、ほとんどの場合うまくいくことはありません。
通常のプロジェクトではプログラムコードは数十万行に及ぶことが普通です。
そんな中から原因となる1行を勘で当てるというのは現実的ではありません。
エラーメッセージを読むことでうまくいく理由
エラーメッセージには
- 現象
- 原因
- 発生箇所
が記載されています。
これらの情報から考えられる解決方法を絞り込むことができます。
100個の修正方法を試すのと、3個の修正方法を試すのとではどちらが大変か言うまでもありません。
圧倒的な時間短縮が可能となります。
不要な作業を減らせるメリット
最大のメリットはエラー解決が短時間で終わるということです。
実はどんなベテランのエンジニアでもプログラミング中はエラーを起こし続けていて、初心者とそれほど大差ありません。
しかし、初心者が10分かけて解決するエラーをベテランエンジニアは1分で終えることができます。
例えば一つの機能開発で10回エラーを起こしたとして
- 初心者がかかる時間 → 10分 ✕ 10回 = 100分
- ベテランエンジニア → 1分 ✕ 10回 = 10分
で実に1時間半の差が出ます。
プログラミング学習の効率に影響する
プログラミング学習においても頻繁にエラーに遭遇します。
エラー解決にかかる時間を短くできればそれだけ効率的に時間を使えます。
エラーメッセージをしっかりと読んで素早くエラーに対処することで、本来の学習時間をしっかり確保することができます。
知識が足らない点を見直せる
2つ目は「知識が足らない点を見直せる」です。
エラー解決への取り組みを通して欠けている知識をあぶり出すことができます。
原因がわからない=理解できていないことがある
エラーメッセージが読めてもエラー解決ができないことがあります。
というよりプログラミング初心者はそれが普通です。
エラーメッセージが何を言っているのかがそもそも分からないということがあるためです。
例えば
Fooクラスのインスタンスにインスタンスメソッドbarが定義されていない
ということが書かれていると分かったとしてもそもそも「インスタンス」の意味がわからなければこのエラーメッセージの意味が分かりません。
不十分な理解をあぶり出す
エラーメッセージ中によく分かっていない概念がないか確認してみましょう。
コツとしては自分で自分に言葉にして説明してみることです。
「インスタンスとは〜」「メソッドとは〜」「メソッドが定義されるとは〜」のように説明してみましょう。
説明できないことがあればそれが理解ができていないということになります。
こうして確認していくことで理解できていないことがあぶり出されます。
復習の絶好の機会ととらえよう
理解できていない部分が分かればそれについて調べたり復習することで解決できるようになります。
エラーがでたら理解できていない部分をあぶり出して理解する、という手順を通じてレベルアップできます。
エラー解決は復習の絶好の機会ととらえましょう。
課題解決能力が向上する
3つ目は「課題解決能力が向上する」です。
課題解決能力はエンジニアにとって必須の能力なので、エラー解決を通してエンジニアとしてのスキルが磨かれます。
エラー解決は課題解決
エラー解決は課題解決の一種です。
課題解決能力は「問題」に対して現在の状況や取りうる対策を検討することで「あるべき姿」へ持っていく能力です。
エラー解決は「エラーが発生している」という問題に対して「エラーが修正された状態」にするための取り組みです。
エラーメッセージにはエラーが発生したときの状況が示されており、エンジニアはその状況から解決方法を考える必要があります。
筆者の周りのエンジニアでもエラー解決が上手なエンジニアは課題解決も得意な傾向にあります。
エンジニアに必須の論理力が身につく
エラー解決は問題解決なので論理力が必要です。
エラー解決は大雑把に
- エラーメッセージを読んで状況を理解する
- ログを見たりデバッガを使ったりしてさらに状況証拠を集める
- 1、2 で集めた情報から推論して解決策を推定する
- 推定した解決策を試す
という手順で行われます。
このうち「推論」に論理力が必要です。
エラー解決が上手になるということは推論の部分も上手になるということなので、エンジニアとして必須の論理力が鍛えられるということになります。
まとめ
エラーメッセージを読むメリットを解説しました。
- 不要な作業を減らすことで時短できる
- 知識が足らない点を見直せる
- 課題解決能力が向上する
どれも特にプログラミング学習段階において重要です。
以上を意識してエラー解決に取り組めば短期間で上達することができます。
本記事でエラーメッセージをちゃんと読むモチベーションになれば幸いです。