Casser Notes

SASメインで使っていたエンジニアのステップアップの記録

バグ改修によるバグ

昨日は掛け持ち案件のプログラムレビューと結合テスト支援

(今は複数案件を掛け持ちしてる)

 

 

今まで見てたプログラムにバグがあったというので、どう直したのかなと見てみた

 

最初のバグは、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つでこんなにもやりやすくなるんだ、と感動

 

 

昨日も楽しかった