網路城邦
上一篇 回創作列表 下一篇   字體:
「這不是程式錯誤,是一種功能」
2016/04/23 23:10:46瀏覽2415|回應3|推薦73

最近(2016411)網路讀到一條新聞標題是「美國肯薩斯州的一個農場因為某一地圖軟體的小故障(glitch)而不停地遭受威脅和騷擾」,這標題讓我想起很久以前一個有關微軟(Microsoft)的笑話.

這新聞說美國一家地圖軟體公司的有個產品能幫你從「網路協定位址」(IP Adress)找到相關電子器材的真實地址.這類事情的資料庫(database)其實很難齊全,有時候那個地圖軟體只能告訴用戶要找的地址在某一城市或鄉鎮,真有需要的人可以到附近去找.問題在於如果你輸入的「網路協定位址」無法與資料配對的話,它就會告訴你真實地址在美國地理中心附近.肯薩斯州有一個農場剛好離美國地理中心不遠,常常有人因生意糾紛根據那地圖軟體提供的資料找上門,甚至聯邦調查局也為了尋罪犯來拜訪,農場主人不勝其擾.農場主人的困境當然令人同情但是我出身電子工程師所以有一個反應,我認為那不是小故障那是設計上的大疏忽

我從新聞報導推測,那公司的軟體工程師開始寫程式時為了方便先假定真實地址在美國地理中心附近,這算是正常軟體程式發展的程序.一旦軟體程式完成後與資料庫相連,它就會自動輸出正確的地址.問題是真實生活裡難免會碰上與資料庫不能配對的「網路協定位址」,軟體工程師在交貨之前應該修改程式讓它在這種情況時向客戶說明清楚,不應該讓它輸出當初工作時暫用的假想位置.「小故障」是那家軟體公司的對這件事的說詞,但是故障是不能預期的,給用戶一個明知不正確的位置是設計缺失,不是故障.

這種忽視設計疏忽的態度其實由來已久,話說DEC曾是1970-1980年代美國一家有名的電腦公司,要像我這麼老才有幸用過他們的產品,我在此要聲明他們的產品很好那公司早期有一位工程師在測試產品時偶爾會碰到一些無法解釋的現象,他發現這些奇怪的現象不太會在例行使用時發生客戶「幾乎」不會碰上的問題值不值得費力費時去修正?進一步研究後將這類問題分兩類:(一)造成不良後果,這類問題不用說一定要列入「unacceptable」,退回原設計工程師修正.(二)只會給客戶一點點不方便,有什麼大害,反正發生的機會很小,運氣好的話在軟體更新時會自動消失,為了幫公司省錢就列為「尚可tolerable,算是通過檢驗

DEC所做其實還算合理,多年後微軟將這個態度發揚光大」,出一個電腦工作者之間口耳相傳的笑話當年微軟的第一個文書處理應用軟體(Word for Windows)有很多問題,用戶在「例行」使用有時會得到一些不可預期的結果,客人員接多了質問電話就塘塞客戶說「這不是程式錯誤,這是本產品的功能之一,只是沒有列入使用手册而已!It's not a bug; it's an undocumented feature)」這句後來成為電腦工程界的名言.

那家地圖軟體公司雖然沒有像當年微軟那樣謊稱「功能」,但是稱之為「小故障」,也是五十步和百步之差(註)

註:《孟子梁惠王》孟子對曰:「王好戰,請以戰喻.填然鼓之,兵刃既接,棄甲曳兵而走.或百步而後止,或五十步而後止.以五十步笑百步,則何如?」

( )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yizenwu&aid=54154213

 回應文章

Catherine L.
等級:8
留言加入好友
2017/02/19 08:04
"三隻眼睛",哈哈!現在知道了,在十個月之後。

Catherine L.
等級:8
留言加入好友
2016/04/25 09:27
哈哈!"不是程式錯誤,是一種功能" 很有趣的笑話。

另外,一樓說"只有三隻眼睛"是指什麼?
吳怡仁(yizenwu) 於 2016-04-25 10:59 回覆:
我也不清楚三隻眼睛的事,所以回覆時沒提到。

Flying Eagle
等級:8
留言加入好友
2016/04/24 00:29

你發文才只有3隻眼睛,很羨慕!我每回發文,草稿和成品圖文的位置都不一樣,總要不停調整,唉!耐心的考驗!

我的一位工程師朋友曾急著換工作,因為他的設計有明顯瑕疵,但自己又沒法解決。他心知早晚東窗事發,追究起來不得了,於是落跑。真的是「棄甲曳兵而走」!


吳怡仁(yizenwu) 於 2016-04-24 00:46 回覆:

我的文章結構沒有你的複雜,偶爾也是需要調整一下.

以我的經驗工程師都會互相幫助,不致於要落跑,第一次聽到你朋友的那樣的故事,