So-net無料ブログ作成
検索選択

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

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

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

この記事のトラックバックURL:
※言及リンクのないトラックバックは受信されません。