エラーの赤い文字は、怒っているのではなく場所を教えていた
はじめてプログラムを触った頃、画面いっぱいの英語を読まずに閉じていた。
実際に読むのは、種類とファイル名と行番号の三つだけでよかった。
プログラムを覚えはじめた頃、いちばん苦手だったのはエラー画面だった。
保存して読み込み直したら、白い画面に赤い英語がびっしり並んでいる。
読まずに閉じていた。
怒られている気がして、直前に書いた行を勘で消しては、また読み込み直す。
そんなやり方で半日つぶした日が、何度もある。
いま思えば、あの赤い文字はいちばん親切な味方だった。
機械は「どこで、何が起きて、どの行で止まったか」を全部書いてくれている。
こちらが読み方を知らなかっただけだ。
エラーは、怒っているのではなく場所を教えている
まず頭を切り替えたい。
エラーメッセージは採点でも説教でもなく、報告だ。
プログラムは書かれたとおりにしか動かない。
途中で進めなくなったとき、機械にできるのは「ここで進めなくなりました」と手を挙げることだけだ。
その手の挙げ方が、たまたま英語で、たまたま赤い。
怖いのは、エラーが出ることではないと思う。
何も出ないまま、静かに間違った答えが返ってくるほうがずっと厄介だ。
エラーが出ているうちは、機械はまだこちらの味方をしている。
読むのは、種類とファイル名と行番号の三つ
長いエラーでも、最初に見るところは決まっている。
ひとつめは、エラーの種類。
文の書き方そのものが壊れているのか、無いものを呼びに行ったのか、途中で計算できなくなったのか。
英語の一語目か二語目に、たいていそれが書いてある。
ふたつめは、ファイル名。
自分がさっき触ったファイルなのか、そうでないのかで話が変わる。
触っていないファイルの名前が出ているなら、原因はそれを呼び出しているこちら側にあることが多い。
みっつめは、行番号。
ここまで分かれば、探す範囲は一画面ぶんまで縮む。
この三つを声に出して読むだけで、勘で消す作業がなくなる。
残りの英語は、慣れるまで飛ばしてかまわない。
行番号は「そこが壊れている」とは限らない
ひとつ落とし穴がある。
行番号は「機械が進めなくなった場所」であって、「間違いを書いた場所」とは限らない。
いちばんよくあるのが、かっこや引用符の閉じ忘れだ。
閉じ忘れた行では、機械はまだ困っていない。
先へ読み進めて、どうにもならなくなったところで初めて止まる。
だから、示された行をいくら睨んでも何も見つからないときは、その少し上を見るといい。
僕がいまだにやるのは、閉じかっこの数え間違いと、全角の空白が紛れ込んでいるやつだ。
後者は目で見ても分からないので、行番号だけが頼りになる。
英語は、そのまま検索していい
意味が分からない一文でも、まるごと貼って検索すれば、同じところで止まった人がだいたい見つかる。
そのとき、自分のファイル名と行番号だけは外して検索する。
そこは自分の環境の話で、他人と共通するのはメッセージの本体のほうだからだ。
AIに聞くときも同じで、メッセージだけを貼るより、前後の数行と一緒に渡したほうが答えが早い。
機械は「どこで止まったか」しか教えてくれないので、「何をやろうとしていたか」はこちらが足す必要がある。
エラーが出た瞬間に画面を閉じるのをやめてから、詰まっている時間が目に見えて短くなった。
赤い文字は、直してほしい場所を指さしてくれている。
こちらが読む気になった日から、あれは味方になる。