コードを書くのが速い人/遅い人 その1:ログの読み方
ペアプロっぽい感じで一緒にデバッグする機会で得た知見の話。
完全に個人的見解だし、まとまってないポエム的なものなのでQiitaじゃなくてこっちに書いておく。
ある程度の実力と経験値があるエンジニアなら、問題解決の型をもっていて、新しい言語なりFWなりに触る時に早くキャッチアップできる力になっていると思う。
そういった型に対する考察。
何か開発しててうまく動かないときの追い方
自分の場合、大体以下の通り。
- エラーが発生する
- ログを確認する
- 複数箇所、複数行にまたがっているログから本質的なものを探し出す
- ログを元に、コードを確認するなり、エラーコード、エラーメッセージを調べるなりして対応する(ケースバイケース)
この3が苦手な人が多い印象。
StackTraceとかだと長々としたログが出ているが、大体一番下か一番上にエラーの内容が書いてある。(複数行のパターン)
この勘所がないと、長いログを上から下まで読んで、よくわからない、という結論になってしまいがち。
また、ブラウザからAjaxを叩く系の処理だと、本当はサーバ側でエラーが出ているのに、ブラウザのエラーを永遠と解析しようしていたりする。(複数箇所のパターン)
で、普段からログを読んで問題解決していく癖が無い人が書いたコードは、エラー時の情報が少ない事がよくある。
try ( // 何か処理 } catch (Exception $e) { error_log("失敗しました"); }
みたいなコード。黙ってExceptionをそのまま投げてくれればいいのに、、、、