バグ改修によるバグ
昨日は掛け持ち案件のプログラムレビューと結合テスト支援
(今は複数案件を掛け持ちしてる)
今まで見てたプログラムにバグがあったというので、どう直したのかなと見てみた
最初のバグは、TO_DATEでエラーになるというもの
あるあるだけど、文字型で日付値、年月値入る項目に、半角スペースが入っている事があったそうで、ORACLEの仕様で「こんなん変換できんわ」でエラーを返してくる
悲しいかな、ここの環境は何故か全カラムがNOT NULL制約付きなので、何も設定したくない時にこういう値を入れる事があるらしい
日付型に置換してセットするときは半角スペースは使えないので、
TO_DATE( NVL( TRIM( 文字型年月項目 ) ,'29991231') , "YYYYMM" )
としたらしい
これを見て、「あれ、年月文字列が入るべきところに日付文字列をNVLして大丈夫?」と思った
念のためにPMや基盤担当に聞いても、「ORACLEが変換してくれるから大丈夫」とのことだった
一応ORACLE Bronzeは持ってることもあり、怪しいなと思って FROM DUALで簡易検証したところ、予想通りエラーに…
このエビデンスを持ってPMにエラーを教えてあげたら、そもそもの仕様が…と違うところに文句をつけ始めた
(設計レビューしたのはPM本人)
今更そんな根本的な話をしても仕方ないので、
「そこ直すのもいいですけど29991231→299912に直すのと期間、工数考えてどちらが良いか選んでください」と言ったところ、
流石に直す気はないようで、丸く納まった
自分が全て正しいとは全く思ってないけど、
こういう些細な所が「こういうメインどころではない指摘は何も生まないし、禍根だけが残るな」という反面教師になった
メルカリに出向?した経産省の方の記事を見てから、
不満な点、嫌なこと、が改善すれば良くなること、というように着眼点が変わった
経産官僚の女性がメルカリで8カ月働いてみたら、見えたこと | BUSINESS INSIDER JAPAN
これは、今年の一番大きいトピックだった
人間も所詮動物なので、感情コントロール1つでこんなにもやりやすくなるんだ、と感動
昨日も楽しかった