非効率も効率

筆者のパソコン関連や効率化についての考察と雑談

ログ出力とエラー処理は早めに理解しておくと良いのではないか

プログラム開発の初心者本では後回しにされがちでうが、
ログ出力とエラー処理については、早めに簡単な使い方だけでも理解しておくと良いと思うのです。
柔道を習う時の、怪我しない為に受け身と柔軟を先に習うみたいなものかなと。

プログラム開発なんて、8割はエラーの対応です。
引数をチェックして問題があればエラー。
計算結果をチェックして問題があればエラー。
そして、発生したエラーは開発者自身やユーザー、保守担当の為に、解り易く出力をしないといけない。
その為にはエラーをトラップしないといけませんし、出力されたログの解析もやらないといけません。
エラー発生時には途中まで処理したデータを処理前の状態に戻さないといけないケースもあります。

理解して欲しいログ出力はprintとかの簡易版ではなく、環境標準のログの出力機能の事です。
pythonならgetLoggerですね。
とは言ってもログ出力は奥が深いので、まずは環境標準のやり方でテキストファイルに出力できれば良いのではないでしょうか。
ただ、細かくは実装しないにしても、そういう機能があると知っている事は今後の役に立つかもしれません。

エラー処理はtry~except~else~finallyですね。
ユーザー定義例外は使えるようになると良いと考えます。
関数の戻り値でエラーを返すより、ユーザー定義例外を発生させた方が読みやすいコードが書けるかと。

とはいえ、やっている事が地味なので、勉強している方としては苦痛に感じるかもしれません。
最初はプロジェクト内での処理方法の共通化も兼ねて、ログ出力とエラー処理が入ったテンプレートを
先輩が用意してあげた方が効率は良いかなと。

そして、後からロクにエラーがログで出力されないプログラムのメンテに当たった時に絶望すると共に、
普段、普通に出力されているログに感謝を覚えるでしょう。
該当プログラムの開発者が過去の先輩だったりするところまでがお約束ですね。

逆に積極的に勉強する人はプログラマの素質があるかも。


というような事を、Pythonのエラー処理とログ出力の勉強をしながら思ったのでした。