設計をシンプルな方向に落とさない癖を治す

うーん、またやらかしたかも。設計を簡単にしない癖がある、というよりも、簡単な設計にする発想が無い。A の項目が B から C を引いた値になると思ったら、そのようにロジックを書いてしまう。でも、 A の項目に B から C を引いた値を手で設定させたほうが良いらしい。

不特定多数に販売するパッケージと、そのユーザ専用に作るシステムとの性格の違いなのかもしれない。今作ろうとしているのは後者。だからそう割り引いて考えないといけない。


「A は B - C です」と説明書に書くか、「A に B - C を設定してください」と書くか。

まぁ確かにね。「A が B - C *じゃない* 運用になったらどうするんだ!」という気はする。でもほんとにそうなるの?そうじゃなくなるケースがいま一つでも挙げられるの?ほら、挙げられないじゃないか。これでメンテナンスフリーなんだよ!と考えていた。

『B の値を変えたのに A の値が変わってないぞ!』とかいう問い合わせが来るのも嫌だし、使う方は使う方で、「システムにはたくさんのパラメータがあって、設定ミスは自分の責任(説明書に書いてあれば)」という文化なんだというのではあまりに物分かりが良すぎると思っていた。

システム担当者の世代が代わって『説明書のどこに書いてあるか分かりにくいから間違ったのはお前のせい』とか言ってこないよな……。大丈夫だろうな……。とか落ち着いて考えてみると、最終的には「ロジックの説明がどこに書いてあるか」「設定の説明がどこに書いてあるか」の違いしか無い。さらに、直すのも「ロジックをなおす」「設定をなおす」のどちらかしかない。

そして。すべてが文書に適切に記録されていたとして、

「ロジックをなおす」だと、悪いのは設計した人。
「設定をなおす」だと、設計は腐ってても、設定した人が悪いっぽく見えないか?

結論。作る時には気を利かせないこと。そして、保守(設定変更)作業なんて断固として請け負わないこと。以上。