面對Bug大軍,你(妳)準備好了嗎,我是還沒啦...(汗)。

面對Bug的五個階段,你目前正進行到哪了呢?別放棄,總有一天會結束的,Bug沒結束,你也會結束的...(石化)。

真要命阿,規格改了又改,需求變了又變,難怪人家說Bug過了一天可能就變成規格了...,

面對Bug的時候,勇敢前進把它解決,還是放著讓他自行痊癒呢(大誤),從拒絕到接受,

這其中的心路歷程可以讓程式設計師成長也可以摧毀他幼小的心靈。

 

  • 第一階段:抵抗

          本階段的狀態:懷疑,生氣,抗拒

  1. 不理睬 - 應該不會再出現了吧,等一下就好了。
  2. 推卸 - 這是環境的問題,這是User帶賽,這不是我的問題。
  3. 躲藏 - 放假幾天看看會不會有其他人來處理。
  4. 標記為需求修改 -如果你們要改就要改需求喔,或許就不會想改了
  5. 需要更多的資訊 - 除非我確定在Log中可以看到特定的錯誤訊息。
  6. 希望轉他人接手 - 這不是只有我的問題,應由其他模組的人處理。

 

  • 第二階段:接受

          本階段的狀態:命,打擊,憤怒

  1. 接受現實 – 都是我的錯,我來改。
  2. 繼續逃避 - 持續請假來放空自己,把這個Bug處理優先權擺到最後。
  3. 討價還價 - 只改哪裡好不好,能跑就好,需要更多的天數來修改。
  4. 標記完成時程 - 你希望那是一萬年。

 

  • 第三階段:投入&沮喪

          本階段的狀態:眼花,頭暈,心跳加快。

  1. 開始調查 – 進行初步Trace,進行小小調整。
  2. 迷惘 – 開始沒有方向,不知何去何從。
  3. 第三次逃避 – 請假理由已經快用光了。
  4. 作賤自己 - 懷疑自己,失控,情緒不穩定。
  5. 惡搞 - 如果A不行,那改B呢,嗯~死更慘唷。
  6. 絕望 - 為什麼老天要這樣對待我,我只不過填錯志願讀錯科系。
  7. 恥辱 - 為什麼當初說一個月就會修好的,已經過了半年了,我腦袋有問題嗎?
  8. 恐慌 - 不管加多少班,看多少文件,怎樣就是解不開阿~。
  9. 遠離生活圈 - 天殺的我沒搞定的話就不出關。

 

  • 第四階段:自我感覺良好

          本階段的狀態:感恩,安心,極端的自我欣賞。

  1. 開竅 - 終於知道哪邊出錯了,這次我一定可以搞定。
  2. 走對方向 - 事情怎會這麼順利阿,我真是編碼機器。
  3. 測試 - 第一個測試過了,爽阿,在一個測試又過啦,喔不,這個沒過。
  4. 隱藏測試失敗 - 這只是個極端的案例,沒有可能會發生的,所以不需要修改了。 
  5. 交出成果 - 可以開始慶祝了。
  6. 結案 - 過了三年八個月終於可以結案了。

 

  • 第五階段:與真正的"完成結案"肉搏戰

          本階段的狀態:焦躁不安,神經緊張,迷信。

  1. Bug重現 - 有人引發了你隱藏的那個Bug,不~那只是極端的案例阿。
  2. 修正之前的修正 - 我連不會出錯的都檢查了,地毯式的搜索了。
  3. 再次結案 - 有種在來吧,來一個殺一個,來兩個殺一雙~。
  4. 發誓 - 我以後再也不要做這種事情了,我再做我就是豬~。
  5. 專家 - 全公司在這三年八個月內的過程內,發現你變成這個模組的專家了。

 

所以這個模組以後有的Bug都會交給你處理了,當然你就會再回第一階段了…

我們總是會再這個輪迴中,直到我們不再是程式設計師了...(淚)

 

以上是我讀過 THE FIVE STAGES OF DEBUGGING 的心得報告