第一句,調試一定是困難的,不單是困難,還是很困難。程序員的日常工作,多是調試程序這樣那樣的毛病,沒有程序是沒有毛病的。
第二句,雖然調試很困難,但總有解決的辦法,而且解決的辦法居然常常是簡單的,這就等於說沒有解決不了的問題(但有解決不完的問題)。
第三句,定義“調試”的概念。最基本的,設計一個測試,用於清理小錯誤,這屬於調試的範疇;程序的有些部分,在某種情景下不能正常工作,需要修補,也屬於調試範疇。
第四句,回應第二句是如何解決第一句問題的,關鍵在於找到確定問題根源的辦法,也就是正確發現問題。後面的示例,都是關於這一點的。
第二段是上面第四句話的展開:調試必須用邏輯,不是亂碰。新手與老手的區別,就是前者盲目亂碰亂猜,而後者是通過邏輯思考定位錯誤方向。然後的兩段兩個例子,是作爲範例,那些例子都證明,不管問題如何詭異,到最後必定能發現那是有原因的、有因果關係。
[此贴子已经被作者于2015-10-21 10:05编辑过]