2023年3月15日水曜日

まぁ、めんどくさいです・・

 昨日定時前に来た機能不具合改修案件なんですけどね。

どうも設計書どおりに実装されていない箇所があるらしく、可変で持ってこないといけないところを固定にしてたりと。

で、まずはざっとコードを見てみたんですが、溜息しかでないですよ・・・。

何故こうなる・・・。

なんでDataTableを使うんだろう。

データ取得用の共通クラス・メソッドは私が作ったものなんだけど、DataTableで戻すことを想定してるのは1つだけデータがほしいとかそういう時用。

その他の場合はちゃんとクラスを指定してデータ取得するようにしてあるのにな。

クラス化しておけばいろいろと融通が利くことが多いのに、なんでわざわざDataTableを使うんだよと。

そもそもCrystalReportに渡すデータとして使ってるところが多いんだけど、Listで渡せるんだぜ・・。

DataTableにしてるせいでフィールドはインデックスか項目名を固定の文字列で指定するしかない。

インデックス指定だと数字になってしまうので、不具合が発生する可能性が大きくなる。

固定文字列指定はその指定した文字列が間違えていたら当然データを引っ張ってくることはできないし、いろんな箇所で使用するとその分全部直さないといけない。

なのでクラスをリスト化したものを使うべきなんだよ。

あふぉかと。

で、今回の場合も同様にDataTable使ってるし、そのせいでデータのソート(並び替え)するのにもいちいち面倒なことをしないといけない。

それとCrystalReport側ですよ。

なんせ可変であるべきところを固定で書いてあるせいで、かなりの改修が必要になりますよ。

それも標準版2種類とアドオン2種類の計4環境で同じ修正をかけないといけないというね・・。

ふ☁

0 件のコメント:

コメントを投稿