l

2010年11月17日 星期三

無知便是福

Nov. 17 22:06~22:59

想當年 Teddy 用 VB 3.0 寫的第一個收錢的軟體,從開發到驗收交貨,程式內容都由 Teddy 一手包辦。既沒寫『單元測試』(這是一個 Teddy 當年聽都沒聽過的名詞),也沒經過『第三方驗證』。最後在客戶那邊吃了好幾天的雞腿便當之後,在『有力人士』的安排之下,糊里糊塗就結案了。

結案之後 Teddy 就再也沒有收到對方回報的任何 bugs,哇...靠...北..邊站,難道當年 Teddy 就那麼強,寫出傳說中『零錯誤的程式』?全錯,依據 Teddy 的猜測,應該是 users 根本沒在使用該軟體,所以 Teddy 寫出的是江湖中人稱『零使用的程式』,翻譯白話文,就是四個字『消化預算』。

儘管當年那個軟體可能存在千百個 bugs,但是只要沒人發現,你(客戶)不說,我(開發人員)不講,那世上就沒有第三者會會知道了。YA... Happy...

以上故事就呼應了本篇的主題:『無知便是福』。很遺憾,Teddy 當年沒領悟到一點,反而因為害怕自己太無知,而跑去唸了一堆書,以至於如今自食惡果。什麼惡果?接著看下去...

***

最近 Teddy 參與的一個軟體遇到一個問題,就是某項功能在執行了一段時間(例如 2 - 3 小時)之後會出現異常的行為(不是 memory leak),回傳不正確的值。有經驗的鄉民們看到這邊就猜得到,這種『跑了一段時間才出現的 bugs』是不太好解的。該功能的底層用到了前人所開發的 legacy code,該 legacy code 也存在另一個已經 release 多年的軟體中,如果有問題,應該早就被測試出來,或是有使用者回報錯誤才對啊?!可是並沒有,所以應該不是這些 legacy code 的問題... 如果這樣想,就錯,錯,錯,連三錯。

俗話說得好:『前人種樹,後人乘涼。前人擺爛,後人遭殃』。很『帶賽』的 Teddy 總是遇到後者... 在經過一番測試之後,發現相同的問題也會出現在那一個已經 release 多年的軟體上面。所以啦,前人無知便可以享福,而後人沒事學了什麼軟工測試方法,搬了一堆石頭砸自己的腳,就只好幫忙擦屁股了。

還好 Teddy 每次去家X福買衛生紙都是買量販包,一大袋有24小包的那一種(而且是柔柔軟軟的 X 潔,用多了也不會痛喔),所以在擦完自己的屁股之後,還有多餘的衛生紙可以來擦前人的屁股附帶問候前人的親屬

結論就是:前人內心獨白『我選上算我好運要不然你是想怎樣 我軟體能 release 算我好運要不然你是想怎樣。』

***
友藏內心獨白:程式這麼多寫不完,怎麼辦?那就亂寫嘛...



沒有留言:

張貼留言