前回のエントリーのコメントに今を反映している文言がありましたので、考えてみます。
>発覚してから対処すれば、追加要件としてお金がもらえるもの
なんか、今の社会を象徴している文言だでね。政府、年金、なんとか還元水、保険金未払い、その他諸々。
「発覚しなけりゃ犯罪にならない。」という意思が見えるだけに悲しい。遵法精神ではありません。私は遵法精神は薄いです。モラルの問題だと思うのです。法律云々でなくモラルとして如何なものかなと思うのです。
範囲を狭めてプログラム的な面で考えます。
dim 単価 as short
dim 個数 as short
入力処理( &単価,&個数)
dim 合計 as short = 単価 * 個数
(*) 入力処理()には値のCheckはしてないものとします。
このステートメントのまま納品します???
少なくとも
単価 * 個数 の結果が shortの範囲を超えないかCheckするか、単価/個数の値が一定の範囲を超えないかCheckしますよね。
Try catchで
dim 合計 as short
try
合計 = 単価 * 個数
catch
合計 = 0
end try
としているのを見ることがありますが、ノーチェックよりマシな程度。<= ダメダロ
仕様書に明記がなくても自然と対処すべきもので、仕様書の不備として報告すべきものと思っているのですが、どうも世間では違う考えの人種もいるようで。
運用上大きな単価、個数は発生しない。
落ちるのは入力したユーザーが悪い。
クレームがきたら、仕様変更なので有料になる。
発覚してもバグと認めないで商機と捕らえるのは不満。
発覚してからバグ対応するのも、ろくすっぽテストしないで、顧客にデバッグさせる姿勢が見えて不満。
発覚しない不具合箇所は知らん顔するのも不満。
不具合に気づかないのは不可抗力で仕方がないとして、私も気付かないまま納品してしまい後悔する日々、自己弁護。
こうすれば落ちると自覚していながら放置するのはモラルとして如何なものでしょうか。
うん? 不満だらけになったな。 なぜだ? 落ちるからだ。
槐より始めろで、社会のモラルの構築は日常の動作からの蓄積でしょうね。