はれ さむい

 今日は寒かった。自転車通勤がだいぶ辛い。
 朝からソースを見なおしてみると、実装漏れがあちこちにあることが判明。あわてて修正したら余計なファイルまで消してしまって大わらわ。午前中だけで集中力を浪費してしまった。
 客先のSEが来社しました。仕様書が書きなおし状態になっていましたねえという話をすると、誇らしげに「もとの仕様書がぐちゃぐちゃだったので全部書き直しました」だそうで。それは完全に工数が2倍になるということなんでお金くださいお金。
 今回のシステムも、だいぶRDBの構造が危険。RDBの制約で表現すれば済むことだけでなく、オリジナリティあふれる制約をプログラムで実現しようとしているために、工数が膨らんでいます。外部キー制約くらいはつけましょうよ。どうして外部キー制約すら付けられないかというと、全部がマスタだから。マスタ系のデータとトランザクション系のデータがひとつのテーブルに押し込められているために、マスタ同士の関連が密になってしまっている。あっちのマスタがないとこっちのマスタが作れないという状況があちこちで発生しているために、外部キー制約を定義できなくなっているというのが私の予想。マスタとマスタの間にトランザクション系のテーブルを用意すれば、いくらか解決できそうな気もするけど、今の構造がさっぱりわからないので沈黙することにする。
 明日からはやり直しの試験ですわー。