close

星期五,買漢堡王當晚餐。前一個客人點了一份餐點,收銀機前的服務生對廚房說一份A餐,但是漢堡我不打點餐。廚房的人問為什麼,服務生說,因為這裡已經有一張漢堡的發票了。前一個客人已經站到旁邊,換我站在櫃台前。那服務生接著又按收銀機,似乎還再湊金額。

我等在櫃台前,看著服務生,有大約兩、三分鐘吧,他意識到我,跟我說聲抱歉,還要等一下。又低著頭按收銀機。接著,前一個客人想到,要再加點一個副餐。服務生又跟我說抱歉,要再等一下。接著幫前一個客人按收銀機,發現沒辦法打出優惠組合,服務生跟值班經理求救,值班經理也在那裡研究,我看收銀機旁已經放了三張發票,而這時收銀機還在吐出兩張新的發票。

我來的時候我後面沒有人,而這時我的身後已經有大約七、八個客人,而我也等了十分鐘了。有個女服務生說:「你就重打一張新的,照客人點的打。有空再更正。」

於是,那個值班經理離開了,男服務生重打一張發票給前一個客人。也才開始幫我點餐。我點完餐到我拿到餐點,只花了三分鐘。

其實,有錯就早點更正,才不會累積到後面。累積到後面,或許會消失,也或許無法收拾,你要賭一把嗎?

同樣地,寫程式也是。正好最近 ITHome 雜誌有提到兩種寫程式風格。其中有一種「快速失敗(Fail Fast)」,就是在發現有錯誤的情況下,讓程式停止的作法。這種寫法,就是要讓「人」知道出現了不該出現的問題,必須要停下來,讓人介入處理,避免更大的錯誤發生。為了程式的穩固性,有出錯一定要處理乾淨才繼續;或是不處理,讓它爆,強迫大家一定要處理。若是不小心發現地雷,又把它埋回去,這是最可怕的事。

曾經發生過,一個工程師,在 debug 時看到一個不應該是 null 的字串卻跑出 null,然後就修成看到 null 就設成空字串。隔了幾天才發現,程式自動以這個空字串處理一大堆產品。這樣踩中地雷,實在是很慘。

這次回新竹坐六家線,廣播、站牌都已經名符其實,不再有括號了。這真的是很好的一件事。相信再給不會有人搞不清楚竹科(新莊)、世博(千甲)倒底要不要下車。現在已正名為「新莊」站、「千甲」站了。

arrow
arrow
    全站熱搜

    betaparticle 發表在 痞客邦 留言(0) 人氣()