skillup

技術ブログ

ドキュメント作成 プログラミング全般

バッチスクリプトで気をつけたい点

投稿日:2018年4月22日 更新日:

実務でバッチ処理を作る際に気をつけるべきと思ったこと。

  • 基本的にエラーをいかに捉えていかにログに吐くかを最初に考える。まずはエラーありき。失敗するもの、想定した値がこない、あるいは値がないを前提としてシステムを組むべき。
  • テスト用のオプションは非常に自分を助けるので、必ず作った方が良い。コストを上回ること多し。ソースに書いてコメントアウトだと、いちいちなおすぐのが面倒以上に、忘れてそのまま・・・というリスクがあり。
  • 絶対必要なオプションはCSVなら行指定、DBコンバート系ならid指定など。一々DBを見に行かずに設定できるコストは非常に大切。
  • 頻出エラーはDB非接続、DB更新処理失敗、ファイル非存在、配列のインデックス非存在、値未定義。など
  • 異常があった場合はメールで知らせるほか、ストレージ的な場所にログを格納するのがありかも。
  • トランザクション単位は基本的には1レコード単位で。
  • ログレベルの設定とかは外部ファイルや引数などで動的に変えられた方が便利かも。処理件数に比例して多くなるログの量(例えばSQLなど)などは検索効率性なども考えること。
  • 基本的にログを見たら処理の成否や状態が全てわかるようにしておくこと。後から記録がない場合、処理を追うことができない。
  • ただ冗長なだけでも後で苦しむことになるので、どう検索したら発見しやすいかログを吐くときに考える。
  • ログはタイプに分けて複数吐くなどして分けたほうがいいかも。大量に吐かれるとおうのだけでも大変。
  • 毎時で値を更新するようなバッチの場合、値のクリア(あった値を空にする事)を忘れがちなので、初期値を忘れないようにする事。

-ドキュメント作成, プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ファジープロジェクト対策 その1

5月ぐらいから着手していたプロジェクト(顧客管理ソフト)が終焉を迎え、検証段階に入ったので、記して置きたいことなど。 数ヶ月程度ですが、自分が携わったプロジェクトの中では過去最大クラスのものでした。 …

no image

短いコードを書く

私が普段コードを書くときに考えていることは常にいかに短くかけるか、ということといかにバグを生み出さないかということです。 基本的にはできるだけ、短くシンプルに書くようにしています。 そうすることであと …

no image

画面テストのツールに関して

Unitテストに関してはxUnit一択だと思いますが、UI系のテストツールについて。 IDE(コードを書かずにすむマクロ系)に関して全てChromeで動くことを確認しています。 Contents1 ツ …

no image

業務管理アプリの商品コードに関して

一般的な業務管理アプリを作っていると商品や顧客などもオートインクリメントのidではなく、独自の仕様で決められた「商品コード」などを持っていることが一般的です。 昔通販がらみのシステムを使っている時も商 …

no image

テストコードの考え方

一般的なプログラマにとって日々の業務で何がいやかというと、 理不尽な納期 むちゃくちゃな仕様変更 頻発するバグ・不具合 であることは異論がないでしょう。仕様変更や納期などは自分で何とかしがたい部分もあ …