skillup

技術ブログ

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

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

投稿日:

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

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

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

執筆者:


comment

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

関連記事

no image

オブジェクト指向 プレゼンテーション層

本日も引き続き「現場で役立つシステム設計の原則」を読み進めてます。 本日はプレゼンテーション層、いわゆるMVCのViewにあたる部分。 Contents1 プレゼンテーション層の考え方1.1 要点1. …

no image

オブジェクト指向設計 ダックタイピング

オブジェクト指向シリーズ。ダックタイピング・・読む前は名前は聞いたことあるような気がする・・程度で細かいことは何一つわからない状態でした。今回具体的なコード例があった分イメージを何とかつかむことはでき …

no image

シェルの基礎+ユーザー切り替え関連

雑誌を見ていたらシェルの特集があったので、ちょっとメモリます。 補強したいところのみ要点をチェック。 Contents0.1 実行パスについて0.2 ビルドインコマンド0.3 シェル変数・環境変数0. …

no image

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

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

no image

クラスメソッドとインスタンスメソッド

以前staticメソッドを定義したときに、記法がインスタンスメソッドの呼び方でも呼べてしまうことがあったので、これを機にインスタンス・クラス×変数・メソッドちょっと調べてみました。 言葉で書くよりコー …