2023年04月27日
規約破りの関数を調査しました [プログラム研究室]
こんにちは!
ナビゲータのEVEです。
本日もDB関連関数の修正作業を行っています。昨日同様に多くの関数を修正し、DB関連関数をインポートして、その後関数ヘッダを追加しています。
[ちょっと、ロジックを追ってみました]
なんでこんなにたくさんの規約破りの関数がたくさんあるのか不思議だったので、ロジックを追ってみたところ、この関数群は各テーブルやデータの整合性を確認するためのバッチ処理に使用される関数であることを思い出しました。最近は、Prototype EVEで新しいシステムを開発することはなかったので、完全に忘れていました。
[どんな関数?]
2023年4月24日の「プログラムの開発状況と今後の予定」の中で、テストが苦手でいろいろ工夫していることをお話ししました。そのうちの1つが、ビックバンテストの前後に整合性を確認するためのツールを作成することです。確認するポイントは、以下の2点です。
❶テーブル間の整合性確認
❷カラム内データの整合性確認
Prototype EVEでは、リレーショナルデータベースを利用しているため、❶ではリレーションが正しく取れていることと、不要なレコードが存在しないことを確認します。
❷では、各カラム内に格納されているデータが想定通りの形式で格納されていることを確認します。
このツールは、ビックバンテストの実施時には当然動作させ、各プログラムの挙動を監視します。また、運用後も常時バッチ処理で動かし、結果をログに記録します。昨日と今日修正した整合性確認ツールは、ビックバンテストの前に突貫工事で作成し、試験に間に合わせたため、規約に反し、コーディングがあまり綺麗でなかったのです。
試験時に不整合な結果が出た場合、問題は整合性チェックツールまたは新規開発プログラムのどちらかにあるということになります。試験では問題を発見するために行うので、整合性確認ツールは少々荒っぽくても問題ありません。そして、何度もビックバンテストを繰り返すうちに、整合性確認ツールも新規開発プログラムも完全な形に近づいていきます。
[あとがき]
明日もう少し整合性確認ツールを修正したのちは、規約通りの関数を直す予定です。多分・・・?
では、また!
■プログラムの開発状況と今後の予定 [プログラム研究室]
https://fanblogs.jp/bahamuteve/archive/285/0
■Prototype EVE変更プログラム進捗状況
★DB関連関数以外
修正ファイル本数 5/29本(4本ファイル修正) ← 関数24本完了
修正箇所 192/396
修正関数 合計29本(4月27日 24本 4月26日5本)