Just a Computer Graphics Studio & My Life

如果沒有除過錯的人,就不是個稱職的軟體工程師。也就是說,只要你是個軟體工程師,肯定除過錯!剛好碰見一張讓我感同身受的圖解除錯五個階段 (The 5 Stages of Debugging),仔細想了一下,我好像也差不多經歷如此狀況。

圖解 除錯五個階段 The 5 Stages of Debugging

五個階段分別是:

  1. 拒絕
  2. 討價還價/自我責備
  3. 憤怒
  4. 沮喪
  5. 接受

第一階段拒絕,很明顯地我會說,「什麼!?」、「怎麼會?!」、「應該沒錯啊~」

第二階段討價還價/自我責備,我會回想當時寫那段code的狀況,說應該是那時候精神不濟,或是那時候沒有想透徹所有可能case。

第三階段憤怒,通常發生在找不到原因或解法,而且時間一點一滴過去,因為這個bug讓今天沒什麼產能。還有出現在很明顯是別人遺留下來的錯,比如承接前人的專案,或者串接伺服器介面,而我要為對方「擦屁股」。

第四階段沮喪,實在找不到原因,或是找到原因後無解,只好妥協跟老闆或業主承認無法做到。

第五階段接受,儘管知道各種狀況,自己也非常有信心可以勝任,但因為各種無法預期的事件(我的蠢、他人的呆、第三方套件不支援、客戶反覆改規格、介面設計繁雜、功能流程糾結等等),最終讓專案無法順利完成。跟自己說,下次會做得更好!

此外,我也有找到某程式開發人說六個階段

  1. DENIAL. That can’t happen.
  2. FRUSTRATION. That doesn’t happen on my machine.
  3. DISBELIEF. That shouldn’t happen.
  4. TESTING. Why does that happen?
  5. GOTCHA. Oh, I see.
  6. RELIEF. How did that ever work?

我是很不喜歡改他人的專案,但卻是鍛鍊自己除錯能力的好機會,若剛好遇到寫得相當扎實的程式架構,也能學起對方優異之處。

老實說,我喜歡做自己的產品過於代工他人專案,其中一個原因是,不是很想花時間在無關緊要的bug上,有些bug可以暫時忽略,因為時間有限,要專注在核心功能上,若該功能受到熱烈迴響使用,就可以花多點時間debug囉~因為我總會想著,如何讓效益最大化,能讓使用的人越多且越開心,會使我更有成就感,進而樂在其中,挑戰更困難的任務。

哈~現在就是需要更多錢,來讓自己能做屬於自己的產品囉!看誰願意贊助我,讓我去做利己利人的事情:)~

參考:The Six Stages of Debugging6 Stages of Debugging5 stages of debugging

Advertisements

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: