昨日定時前に来た機能不具合改修案件なんですけどね。
どうも設計書どおりに実装されていない箇所があるらしく、可変で持ってこないといけないところを固定にしてたりと。
で、まずはざっとコードを見てみたんですが、溜息しかでないですよ・・・。
何故こうなる・・・。
なんでDataTableを使うんだろう。
データ取得用の共通クラス・メソッドは私が作ったものなんだけど、DataTableで戻すことを想定してるのは1つだけデータがほしいとかそういう時用。
その他の場合はちゃんとクラスを指定してデータ取得するようにしてあるのにな。
クラス化しておけばいろいろと融通が利くことが多いのに、なんでわざわざDataTableを使うんだよと。
そもそもCrystalReportに渡すデータとして使ってるところが多いんだけど、Listで渡せるんだぜ・・。
DataTableにしてるせいでフィールドはインデックスか項目名を固定の文字列で指定するしかない。
インデックス指定だと数字になってしまうので、不具合が発生する可能性が大きくなる。
固定文字列指定はその指定した文字列が間違えていたら当然データを引っ張ってくることはできないし、いろんな箇所で使用するとその分全部直さないといけない。
なのでクラスをリスト化したものを使うべきなんだよ。
あふぉかと。
で、今回の場合も同様にDataTable使ってるし、そのせいでデータのソート(並び替え)するのにもいちいち面倒なことをしないといけない。
それとCrystalReport側ですよ。
なんせ可変であるべきところを固定で書いてあるせいで、かなりの改修が必要になりますよ。
それも標準版2種類とアドオン2種類の計4環境で同じ修正をかけないといけないというね・・。
ふ☁
0 件のコメント:
コメントを投稿