面對Bug的五個階段,你目前正進行到哪了呢?別放棄,總有一天會結束的,Bug沒結束,你也會結束的...(石化)。
真要命阿,規格改了又改,需求變了又變,難怪人家說Bug過了一天可能就變成規格了...,
面對Bug的時候,勇敢前進把它解決,還是放著讓他自行痊癒呢(大誤),從拒絕到接受,
這其中的心路歷程可以讓程式設計師成長也可以摧毀他幼小的心靈。
- 第一階段:抵抗
本階段的狀態:懷疑,生氣,抗拒
- 不理睬 - 應該不會再出現了吧,等一下就好了。
- 推卸 - 這是環境的問題,這是User帶賽,這不是我的問題。
- 躲藏 - 放假幾天看看會不會有其他人來處理。
- 標記為需求修改 -如果你們要改就要改需求喔,或許就不會想改了
- 需要更多的資訊 - 除非我確定在Log中可以看到特定的錯誤訊息。
- 希望轉他人接手 - 這不是只有我的問題,應由其他模組的人處理。
- 第二階段:接受
本階段的狀態:認命,打擊,憤怒
- 接受現實 – 都是我的錯,我來改。
- 繼續逃避 - 持續請假來放空自己,把這個Bug處理優先權擺到最後。
- 討價還價 - 只改哪裡好不好,能跑就好,需要更多的天數來修改。
- 標記完成時程 - 你希望那是一萬年。
- 第三階段:投入&沮喪
本階段的狀態:眼花,頭暈,心跳加快。
- 開始調查 – 進行初步Trace,進行小小調整。
- 迷惘 – 開始沒有方向,不知何去何從。
- 第三次逃避 – 請假理由已經快用光了。
- 作賤自己 - 懷疑自己,失控,情緒不穩定。
- 惡搞 - 如果A不行,那改B呢,嗯~死更慘唷。
- 絕望 - 為什麼老天要這樣對待我,我只不過填錯志願讀錯科系。
- 恥辱 - 為什麼當初說一個月就會修好的,已經過了半年了,我腦袋有問題嗎?
- 恐慌 - 不管加多少班,看多少文件,怎樣就是解不開阿~。
- 遠離生活圈 - 天殺的我沒搞定的話就不出關。
- 第四階段:自我感覺良好
本階段的狀態:感恩,安心,極端的自我欣賞。
- 開竅 - 終於知道哪邊出錯了,這次我一定可以搞定。
- 走對方向 - 事情怎會這麼順利阿,我真是編碼機器。
- 測試 - 第一個測試過了,爽阿,在一個測試又過啦,喔不,這個沒過。
- 隱藏測試失敗 - 這只是個極端的案例,沒有可能會發生的,所以不需要修改了。
- 交出成果 - 可以開始慶祝了。
- 結案 - 過了三年八個月終於可以結案了。
- 第五階段:與真正的"完成結案"肉搏戰
本階段的狀態:焦躁不安,神經緊張,迷信。
- Bug重現 - 有人引發了你隱藏的那個Bug,不~那只是極端的案例阿。
- 修正之前的修正 - 我連不會出錯的都檢查了,地毯式的搜索了。
- 再次結案 - 有種在來吧,來一個殺一個,來兩個殺一雙~。
- 發誓 - 我以後再也不要做這種事情了,我再做我就是豬~。
- 專家 - 全公司在這三年八個月內的過程內,發現你變成這個模組的專家了。
所以這個模組以後有的Bug都會交給你處理了,當然你就會再回第一階段了…
我們總是會再這個輪迴中,直到我們不再是程式設計師了...(淚)
以上是我讀過 THE FIVE STAGES OF DEBUGGING 的心得報告。