私の経験の中であった、設計時の見落としをテーマとして何点か書いてみます。
とある業務システムの仕様書に中に、「画面をクリアする。」とだけ書かれたものがありました。
では、この場合の画面をクリアするのクリアとはどのようなことを指すのか?
①単に入力項目値を消去する
②入力項目値を消去し、初期値をセットする
①は仕様の言葉通りです、②は初期値をセットし、入力前の状態に戻す暗黙的な仕様です。
②を仕様として記述するならば本来「画面をクリアし、初期値をセットする。」とまで
記述するべきです。もちろん初期値については、別途、記述しておく必要があります。
経験則からクリアするというのは②を指すことが多いので、そのようにプログラムにして記述しますが、まれに①の場合もあるので、仕様者またはユーザに確認する必要があります。
入力項目には複数の種類があり、クリアした時の処理も用途により仕様を決めておく必要があります。
通常の文字入力項目であるなら、空文字でいいですが、数値専用項目であるなら、クリアとした場合に、0か空文字とするのか。
また、コンボボックスの場合も空文字とするのか先頭項目をセットするのか、複数のラジオボタンの場合も、未選択とするのか選択をセットするのか、日付の場合も、空文字とするのかシステム日付をセットするのか、などなど・・・
細かいところですが、うるさいユーザの場合は確認しておかないと、あと戻りすることがあります。