1。任何程式,無論是面書到Gmail到憤怒鳥到高登,都有可能有寫錯的地方。寫錯的,行內叫Bug,直譯為「蟲」。

2。舉個例,你上面書,想將肖像換成昨晚跟女神的合照,明明按了上載的掣,但肖像仍然是舊的那張宅樣,於是投訴。面書團隊如果睬你的話,會自己試試,先確認不是你發雞盲看錯字按了取消。確認有問題,就開始調查原因,即「捉蟲」。找到原因之後,就「滅蟲」。

3。除蟲可以用上很多時間。見過有例子,蟲太多,編程人每天七小時,有六小時用在除蟲。除蟲時間越長,剩低寫新功能的時間越短,可以致命。

4。整個除蟲過程,最花時間的,通常是捉蟲,即調查。要減低除蟲的時間,就要減低捉蟲的時間。

5。查案的速度,取決於調整的人對出事的位置有多熟悉,越熟越快。對編程人來說,越遠的事情越陌生。也是說,越近期做出來的蟲,越快捉得到。

6。另一個因素,是調查的範圍。越老的蟲,經過越多的改動,調查範圍越闊,時間就越長。

7。蟲是編程人的天敵。在以前公司,有一次,看見編程隊伍每人的電腦屏幕,都插著一個用兩把膠尺綁成的十字架(當時還只有厚屏幕)。我問是驅甚麼魔,原來當日有重大改動推出,大家都怕會喚醒大堆理藏已久的蟲,希望借超自然力量擺平。
8。諷刺的是,蟲不是天跌下來,是團隊自己弄出來的,屬自作孽。

9。沒有人記下來的事情沒有發生過,同樣道理,沒有用戶發現的蟲等於不存在。

10。人有不同價值,蟲也各有不同價。最值得滅的,是影響最多人,而且受害人被害得最慘的蟲。越不會在未來跑出來害人的蟲,越不值得滅。

11。有蟲,是因為編程人測試時,試不了所有可能出現的情況,所以漏了眼。要保證完全沒有蟲,就要花極長時間測試,測試時間越長,剩低寫新功能的時間越短,可以致命。

12。你未試過發現面書有蟲,不是因為面書花極長時間測試,而是因為有太多人用,到你用時,早已被發現和消滅。用的人越多,人均見蟲可能性越低,要是好運遇上,應以遇上錯體鈔票般感恩。

2012年1月21日刊於蘋果日報