初級プログラマーでも、画面やシステムの特色を理解する事が大事。
システムエンジニアの職についた人は、
最初は上からの指示でプログラミング、テストの仕事をやる事が多いです。
そして、必ずついて回るのが『後出しじゃんけん』。
先に言えよと、川上智弘さんはアラフォーになった今もクレームを言っていますが、
実は担当したシステムの特色を理解する事で、やり直しが回避可能です。
川上さんが担当したサンプルマスタメンテナンス
上記画像の通りです。
サンプルマスタ
[一意ID]が主キー、それ以外に
[名称][略称][帳票略称][サブID]
[保管温度最高値][保管温度最低値][自然数][グループ区分][削除フラグ]
[登録者][登録日時][最終更新者][最終更新日時]
があります。
グループ区分名は、他のテーブルから結合します。
[保管温度最高値][保管温度最低値][自然数][グループ区分]は数値、
[登録日時][最終更新日時]は日時で、
それ以外は主キー含め文字列です。
検索条件
サンプルマスタをSELECTします。
左側の一意IDが入力されている場合は、その値以上が検索条件、
右側の一意IDが入力されている場合は、その値以下が検索条件になります。
空白の場合は条件なし、即ち両方空白の場合はここに関しては全件になります。
グループ区分に値がある場合は、その値が検索条件、無い場合はここに関しては全件です。
共通の検索条件として、[削除フラグ]が'0'のもののみ検索します。
ただし、
★一意IDが両方入力されており、かつ値が左側<右側
★結合したグループ区分のマスタに無い値をグループ区分で入力した
どちらか一方でも満たすと検索をせずにエラーメッセージを出力します。
更新処理
画像の一覧表の内、項目名が桃色のものは必須入力です。
入力欄が灰色になっているエリアは入力不可能です。
一番下の行の入力可能エリアに値を入力すると、
自動的に行が一番下に追加されます。
全部空白にすると自動的に消えます。
自然数は0または自然数のみ入力自体が可能です。
新規登録の場合は、サンプルマスタに入力した値が登録され、[削除フラグ]は'0'、[登録者][最終更新者]は新規登録した人、[登録日時][最終更新日時]はシステム日時が自動登録されます。
更新の場合は、サンプルマスタに入力した値が反映され、[削除フラグ]は'0'、[最終更新者]は更新した人、[最終更新日時]はシステム日時が反映されます。
削除の場合は、[削除フラグ]は'1'、[最終更新者]は更新した人、[最終更新日時]はシステム日時が反映されます。
ただし、
★必須入力が空白
★登録済みの一意IDで登録を行う
★削除済みの一意IDで登録または更新を行う
★保管温度最高値が保管温度最低値未満の値を入力
★結合したグループ区分のマスタに無い値をグループ区分で入力した
上記の内、一つでも満たした行は更新されずに一覧に残り、エラーがある最上行に発生したエラーメッセージを出力します。
発生した後出しじゃんけん
UTフェーズにて発生しました。
一覧表の数値項目は、0またはプラス値の時は黒文字で良いが、マイナス値の時は赤文字との事。
さらに値がピッタリ0の時は小数点を付けずに0と表示との事。
正直いまさら言うなと軽く文句を言いましたが、直後に冷静になって次の様に返しました。
『
保管温度は金銭の計算等とは違い、別にマイナス値が悪では無いし、0が基準になっている訳でもない。
さらに保管温度は大半がマイナス値であり、検索した際の一覧表が赤文字だらけになると客から苦情が来る。
故に、マイナス値はプラス値同様黒文字にすべきだし、0も0.0と表示するべきだ。
』
こう言ってマニュアル人間のサブシステムリーダーを論破し納得させました。
勿論、UTは無事に完了。
根底には、自分がやり直しをしたくなかったからですが、結果締め切りに間に合いました。
品質よりも納期を優先にしているPJでは、かなり大事な事です。
まとめ
後出しじゃんけんするなら、お前が作業するか追加料金を払え社畜共。
以上です。