Accessで作られた外部連携用のプログラムがありまして。
ちょぃとおかしいから見てくれぃと言われて見ましたよ。
3年前に誰かが作ったプログラム。


データ増やしたら、連携がうまいこと動かんくなった。
ってのから始まり、
参照場所特定したらなんとかなる修正も加えてもーて納品。
そしてそれがうまいこといかんかったという内容。


外部のマスタを参照するためのパススルークエリがありました。
画面ではそれをデータ元にしてコンボボックスつくってました。
その後の処理で必要になるデータは
コンボボックスの内容から選択抽出して使用していました。
ここまでは何てことない真っ当な処理です。


しかし。
これで終わらないのがクサレソースクオリティ。


画面ありきなプログラムにおいて、
連携元とデータ元がしっかりしてると
連携時にもそれを使用していると思うやん。
コンボになくてもパススルークエリがあるしそこからデータ持ってくるとおもうやん。
連携に必要なデータのみに絞る作業はここだけと思うのは仕方のないことだと思えるやん。


がっつり調べてみたら。
必要になったらその場でSQL文作って投げているソースがいましたよ。


Σ(゜Д゜#)!?


1箇所や2箇所ではもちろんありません。
再利用という言葉を知らんにもほどがあるッ(゜Д゜#)
ってかパススルークエリはどうなった(゜Д゜)!!


行き当たりばったりなソースってや〜ね。ヽ(´ー`)ノ


ちなみに今回このアホなコードのために費やされた時間は
いろいろ含めて3時間。
修正作業なりテストなり報告書作成なりいろいろ。
外で納品にまわっている人の手間を考えたらもっと。
さらっと計算してみると人手がかかっているから1人の3営業日分くらいの時間かな。


作り手のいくばくかの時間を節約するために
垂れ流されたコードが3年という時を経て。
3営業日=3人日≒15万円。
これだけのロスになった。
メソッド化する作業の手間なんざ10分とかからんだろうにな。