[閒聊] undefined behavior
這次我被派到全球萬人以上公司的分公司幫忙寫報表程式。
該公司對於開發該報表程式僅採取兩種模式,稱之m1和m2。
於昨日資深前輩所寫的程式被我發現,
她所寫的undefined behavior語法出現在一隻數千至萬行的程式之中。
會發現的原因是m1下該語言在runtime time的該行沒有任何反應繼續執行,
但在m2就會hang住無限期。而我在本機開發使用m2開發所以發現了。
而該程式在Production的版本是使用m1,所以這個問題(bug?)一直沒被發現。
前輩跑來我的位置argue這不是bug,我無所謂,反正總是個危險的寫法。
而修正方法僅加上一行if敘述即可避免,這點兩人皆有共識。
我問她要不要改,她避重就輕m1就沒問題啊,每天都在印報表有問題早就被罵翻了。
又加了幾句,你才寫程式幾年,要多寫幾年程式等倚老賣老的說詞。
無論我怎麼已是非題問是否修正,就是不正面回應。
然後我無賴發信:我發現這個問題,但因為前輩的說法,所以此地方不進行修正。
因為我目前正在開發這隻程式,所以就lock該程式,防止前輩後續偷加if判斷。
我主張程式語言版本是會改版更新的,即使我是個小外包,
程式語言更新後可能我就不在這邊了,誰也不能保證改版或更新後
undefined behavior的寫法仍然可以通過m1,
但是能用一個if就能使程式更robust,為何不做,而且目前也正值開發啊。
修正與否其實只是一個回答,這不是寫程式比較多年,
undefined behavior寫法就可以不出錯的好嗎?根本是要擲爻的吧。
而我第一次起了邪惡"我就不改,到時候改版或更新就乎伊死"的念頭。
有點不負責任,但我可是有事先提醒,反正又不一定會有事,
只是Production出事,一印報表幾十萬到百萬份的,損失多少我不知道。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.248.164.164
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1429640040.A.1D7.html
→
04/22 02:17, , 1F
04/22 02:17, 1F
→
04/22 02:17, , 2F
04/22 02:17, 2F
→
04/22 02:18, , 3F
04/22 02:18, 3F
推
04/22 09:03, , 4F
04/22 09:03, 4F
推
04/22 09:03, , 5F
04/22 09:03, 5F
→
04/22 09:04, , 6F
04/22 09:04, 6F
→
04/22 09:04, , 7F
04/22 09:04, 7F
→
04/22 09:07, , 8F
04/22 09:07, 8F
推
04/22 09:08, , 9F
04/22 09:08, 9F
推
04/22 09:35, , 10F
04/22 09:35, 10F
→
04/22 09:38, , 11F
04/22 09:38, 11F
→
04/22 11:17, , 12F
04/22 11:17, 12F
→
04/22 11:42, , 13F
04/22 11:42, 13F
→
04/22 11:53, , 14F
04/22 11:53, 14F
→
04/22 12:42, , 15F
04/22 12:42, 15F
→
04/22 12:44, , 16F
04/22 12:44, 16F
→
04/22 12:45, , 17F
04/22 12:45, 17F
→
04/22 13:55, , 18F
04/22 13:55, 18F
→
04/22 15:55, , 19F
04/22 15:55, 19F
→
04/22 15:56, , 20F
04/22 15:56, 20F
→
04/22 15:56, , 21F
04/22 15:56, 21F
→
04/22 17:03, , 22F
04/22 17:03, 22F
推
04/22 20:05, , 23F
04/22 20:05, 23F
→
04/22 20:07, , 24F
04/22 20:07, 24F
→
04/22 20:07, , 25F
04/22 20:07, 25F
→
04/22 20:07, , 26F
04/22 20:07, 26F
→
04/22 20:24, , 27F
04/22 20:24, 27F
推
04/22 21:13, , 28F
04/22 21:13, 28F
推
04/22 22:31, , 29F
04/22 22:31, 29F