簡報及筆記

Untitled

Untitled

除錯的角色

Untitled

Untitled


Untitled

或者用在重構程式碼時可以用更好的方式去寫,也可以更好的避免之後的缺陷產生


讓你有所收穫的缺陷

1. 理解你正在編寫的程式

Untitled

2. 明確去你犯了哪些類型的錯誤

Untitled

3. 從程式碼閱讀者的角度分析程式碼品質

Untitled

4. 審視自己解決問題的方法

Untitled

最後一點:是否可以自己發現問題,若每次都依靠別人,當下次再遇到一樣的問題,要怎麼解決?

5. 審視自己修正缺陷的方法

Untitled


低效率的除錯方法

Untitled

用猜測的方式除錯

Untitled

例)

Untitled

Untitled


尋找缺陷

Untitled

科學除錯

Untitled

科學 = 可以重現問題,也可以用同樣的方法來解決

方法1:將錯誤狀態穩定下來

Untitled

Jim親身例子)

Untitled

方法2:尋找錯誤的原因

  1. 收集缺陷的相關資料
  2. 分析所收集的資料,並建構對缺陷的假設
  3. 確定怎樣去證實或分攤這個假設,可以對程式進行測試或檢查程式碼 (例如範例使用特殊符號、橫線、空格等等)
  4. 按照c所確定的方法對假設做出最終結論 ⇒確認錯誤的原因

錯誤分成兩種:你知道他不會錯、以及你知道他會錯的錯誤

錯誤分成兩種:你知道他不會錯、以及你知道他會錯的錯誤

方法3:修補缺陷

方法4:對所修補的地方進行測試

方法5:尋找是否還有類似的錯誤

小建議

Untitled

Untitled

和他人討論問題與休息一下可以讓自己進入Diffuse mode

相關資料>>

Focused and Diffuse: Two Modes of Thinking

暴力除錯

Untitled

註解一段→測試→註解另一段→測試

註解一段→測試→註解另一段→測試