培養正確的調試方法

作爲一個代碼民工,不管你用什麼語言,調試總是不可避免的。

有效的調試可以幫您提高代碼的質量,縮短查找錯誤的時間,而且會減少引入錯誤的機率。

從某種意義上說,調試的技巧甚至比算法的技巧還要寶貴,至少毫不遜色。畢竟,當今社會需要你去發現一個算法,哪怕是實現一個算法的機會並不多,大多數時候只需要遵守已有的步驟,一步一步的完成即可。

但是企業在招聘的時候,往往折服於能在5分鐘內寫出一個算法的能力,而忽略應聘者能在5分鐘內找到一個算法的錯誤的能力。這實際上是不值得提倡的。

 

這個扯遠了,本文簡要總結代碼大全第23章,調試,的內容。這些調試的技巧很是實用:

  1. 首先要從代碼的缺陷中學習,理解程序,明確你犯了哪種類型的錯誤,審視自己解決問題的辦法,審視自己修正缺陷的方法,代碼對別的閱讀者友好嗎;
  2. 應該避免這些調試方法:隨意加print,猜測缺陷出現的位置;不願意去理解問題,用最簡單的方式修改錯誤;
  3. 科學的調試方法是這樣的:
    1. 穩定重現,在關鍵位置打印變量,收集數據;
    2. 構建假說,確定一些可能重現錯誤的輸入;
    3. 設計試驗來證明或反證假說,試驗最好簡單,易於操作;
    4. 重複上述步驟,知道你對所有輸入預測的結果跟實際結果吻合。
  4. 調試方法中有用的技巧,把所有的可能寫在本子上,縮小嫌疑代碼的範圍,對最近的修改保持警惕;
  5. 修正錯誤的技巧:先理解問題,驗證對錯誤的修改,不要在緊張的狀態下修改,一次只改動一個錯誤,搜索類似的缺陷;
  6. 克服調試的心理陷阱,人往往被自己欺騙,而忽略了重要的東西,一方面忽略與錯誤無關的代碼有助於快速的找到錯誤,但也意味着另一個可能的結果。在編程時候,採用清晰的代碼,明確的註釋有助於減少這些心理因素的影響。
  7. 最後,有效的利用工具,注意其報告的信息,也有助於更好的發現錯誤。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章