close
  1. 在腦袋不清楚的時候debug,bug不會變少
  2. bug的愚蠢程度和de出bug所花的時間成正比,和遇過這bug的次數成反比
  3. de別人的bug會比de自己的bug簡單

以上是根據讀資訊系這幾年的經驗和觀察而得出的一點小心得...^^

第一定律補充說明:通常是發生在熬夜趕工,或是面對同一份code超過三小時等精神狀態不佳的時候。由於這時思路不如頭腦清醒時敏銳、清楚,debug的效率也就不佳;就算好不容易成功de出bug,也容易因debug時更動的地方造成更多bug。附帶一提,通常在腦袋昏昏沉沉時花了三十分鐘還de不出來的bug,在好好睡一覺醒來後不到三十秒就能搞定。

第二定律補充說明:一般在debug時,都會依照錯誤訊息和程式出錯的時間點,再根據自己的經驗法則判斷是哪裡有bug(例如看到segmentation fault 就會想到pointer和物件的初始化),所以如果是自己以前犯過的錯,那應該沒多久就抓得出來(只是也不該多次犯同樣的錯,除非那真的是難度很高的bug);反之,若是花了很久都de不出來的bug,那不是自己從來沒遇過(根本不知道那裡會有錯),就是藏在自己平常根本不會出錯的地方。

第三定律補充說明:我想目前很多人建議的「pair programming」,應該就有這份含意在。當然,在別人盯著檢查的壓力下會寫得比較好應該也有關係。


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 cym 的頭像
    cym

    cym's blog

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