リモートワークやリモート授業・講義により”エラーを対処できない人”をよく見かけるようになった。オープンなチャット形式が数多くの質問を容易にしているのだろう。なかには質問するレベルですらない単純なミスによるエラー報告も多い。特に授業や講義にあるプログラミング演習では特定の人物においてエラーやトラブルが頻発することも少なくない。
以下では、プログラミングにおいて指示された状況下でエラー対処できない人物の特徴を挙げる。提示する1から10の順にふるいをかけていけば質問対応もいくらか”集中的に”かつ”スムーズ”にできるだろう。
1.指定された環境下で作業していない
指定された環境を用意できないことによるバージョン違いや代替ソフトを自己判断で導入するケースあるいは指示を聞いていない場合。これでは、いくら手順通りでもエラーは発生するだろう。
2.エラーメッセージを削除・無視している
初心者にありがちなことだが、警告ポップをなぜか削除したり、無視している場合も多い。『○○が動きません』と漠然に実行結果だけを報告されても考えられる原因は無数にあるため、少しでも手がかりはほしいところ。そういった場合の対処としては、エラーが発生するところまで再現し、何かしら表示されてないかあるいは間違った操作をしていないか再度確認する。
3.(エラー)メッセージが読めない
これはインストール(作業環境準備)時に多い。母国語でない例えば英語であれば、翻訳すらせずにポチポチと”Yes”、”No”を何も考えずに押し進め、違ったバージョンや不必要なものを入れたり、間違った場所にインストールしたことでパスが通らなかったりする。その結果、同じコードで実行しても動かないため、ひたすらエディターを眺める始末。そもそも環境が違うわけだからこれに陥るといくらエラーをこなしても指示された条件を満たせないため、仮に動作していても確認すべき点ではある。
4.エラーメッセージから問題箇所を特定できない
必ずしもエラーメッセージが示す内容が直接的なエラー内容ではない。例えば、複数のファイルから読み込んで実行するときには、自分が書いた内容と参照したファイル先の内容でずれがあれば後者の全く知らない関数や数字がエラーメッセージに表示される場合が多い。しかし、実行は自分の書いたコードが発端になるので、閉じカッコ忘れ、スペルミス、インデントずれの解消や数値の調整などでメッセージの内容に反して簡単に解決することが多い。あまりに素っ頓狂な警告であれば今一度コードを読み返すべきだ。
5.エラーメッセージからインターネット検索できない
日常的に検索エンジンを利用する中、自分が調べたい単語を羅列するだけで十分だ。一方で、エラーメッセージはときに長く、ときに複雑である。複数のエラーから解決する場合もある。そのような場合に、すべての文字を検索ボックスにベタ貼りしていては、文字制限を超えてしまう。だからこそ、自分の環境や使用言語も織り交ぜながら要約力がそれなりに必要になる。そういったちょっとした手間が質問板で無駄なやり取りをせずとも簡単に答えを得られる最短の道である。詳しくは『検索テクニック』で調べてほしい。
6.エラーが出る以前の自らが行った内容を理解していない、覚えていない
指示された内容を理解せずに写経している人に多い。その場しのぎの対処で後に別のエラーと多重し、より複雑なエラーを生む。正直エラーが出る以前の問題だが、期間を空けて作業していても忘れることはよくある。
7.こまめにテスト・実行しない
どこまで正常に動いて、どこからエラーが発生したのか範囲を明確にすべきである。時間に余裕があるときは、1つ1つ処理を実際に動かして確認することは重要だ。
8.こまめに保存しない
上記と同様、どこからエラーが発生したのか範囲を明確にすべきである。これは自動上書き保存だけでなく、複数ファイルに作業段階ごとで保存すべきだ。万が一、ファイルが1つ壊れても別のファイルで作業ができるようにするためだ。また、1つのファイルでエラー修正をしているうちに直さなくてもいい箇所を変えてしまう場合もある。エラー前段階にさかのぼって、正常に動いていたファイルと比較修正ができるようにするためでもある。
9.エラーを解消する作業だけに長時間割いてる
エラー対処をせずに1からやり直したほうがいい場合も多い。時間をかけて対処しているうちに事態を悪化させてしまうこともあるし、無意識のうちに指示された内容を飛ばしていることもある。エラー対処にストレスを抱えるくらいなら、再確認の意味でも最初からやり直した方がいい。長時間割いて対処できなくてもやり直すことであっさり解決したりする(例:システムが接続認識せずにインストール内容が欠けてたとか)。
10.質問すらしない
ここまで自助努力を促す内容であったが、質問するだけまだ改善の余地がある。一方で、プライドからか質問しない人は多い。自己解決できればそれに越したことはないが、潜在的にトラブルを抱えたままでは誰も対応しようがない。不必要に時間をかけるくらいなら、恥を忍んで上級者から学んだ方が今後の糧となる。リアクションがないだけにこれが質問対応者として最も用心しておく点でもある。
最後に
質問することはいいことだ。とはいえ、あまりに多くのエラーが発生する人はそれなりの行動をしてしまっている。これまでの内容が参考になれば幸いだ。
話は変わるが、インターネットの質問板で、どんな内容であれ質問者に対し『ググれ』やお説教からのヒント形式で答えを教えない輩がいる。少なくともそういった輩には決してなってほしくないと思う。