SSブログ

何もしないことのコスト [日記]

あるシステムの仕様書で、こんなことが書いてあった。

A が 0 の場合、B を10倍する。

ここで真っ先に考えなければならないのは、『A が 0 以外』の時は、どうするのかと言うこと。

「書いてないのだから何もしない」
と考えるのは危険です。

経験上、十中八九、仕様漏れです。(A が 0 以外になることを忘れていた)

そこで、聞いてみたのです。
「A が 0 じゃなかったら、B はどうするのですか?」ってね。

そしたら
「A が 0 じゃない時は、B は使わないので、好きにしていいよ」

これで終わっていたら幸せでした。

「それじゃあ曖昧だから、一番楽な『A が 0 以外なら、B は変化なし』という仕様で」

ガッデム!

一番楽なのは、『A が 0 以外でも、B を 10倍』です。

ソースコードで書くと、はっきりします。

// Aが0ならBを10倍。Aが0以外なら、Bは変化なし
if (A == 0)
    B *= 10
// Aが0ならBを10倍。Aが0以外でも、Bを10倍
B *= 10

ここで挙げている例では A が 0 かどうかの判定ですけど、実際のシステムでは、この判定部分がものすごく面倒だというのに…


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。