2017年1月17日 星期二
書評: Effective Debugging
強國 IT 名人 - 孟岩認為快速掌握一門語言最常用的 50% 其要訣之一就是:
「學習異常(exception)、錯誤處理(error handling)、斷言(assert)、日誌(logging)和調試(debug)支持」
也就是學習任何一門新程式語言,除錯是首先必須掌握的技能。
對於老手更不在話下
更別說是軟體開發週期每個環節都逃不了的需求
這樣至關重要的技能,在過去只能靠經驗累積,只能靠口耳相傳,只能靠一些零碎資料
相關書籍不能說沒有,要不太概念化如之前提到的調試九法,或太偏向某個平台(如講專門講 Linux 完全不提 Windows)
像本書內外功一併俱全的,印象中還真的沒有
書中的一些除錯觀念,對於筆者這種老賊來說已經不算新聞,但要知道我是 coding 10 年才換來的,今天你花幾百元就可以得到別人 10 年經驗,這 CP 值高到突破天際啊!
當然以本書的厚度來說,不太可能塞進所有工具的用法,但有了這些關鍵字再去 google 就不是難事了。很像是早期圖書館尚未電腦化時,擺期刊的區域總會擺上一本活頁本,告訴你 xx 櫃有什麼專業期刊,本書就很有這樣的味道。
再配合之前提過的讀書法,這本書會成為一本超棒的除錯指南,更別說連中譯本都有索引,查閱起來超方便
另外,這本書也很罕見的提到了對 multi-threading 的除錯,這是跟他的那些前輩們差異化的地方,但我本人很少使用 multi-threading,這部份就沒仔細看了。正在學 OS 的同學可以本書提到的工具手法來除錯一下哲學家吃飯問題,印象應該會更深刻。
不過本書也不是沒有缺點,中譯本某些地方翻譯的很奇怪,比方說二分搜尋法翻成二進位搜尋法,一看就知道是門外漢翻譯的。
還有對嵌入式系統除錯的介紹幾乎完全沒有,這可能跟作者經驗有關,不過本站已經提供不少技巧了,可視為一種補充
總體而言,這本書非常值得推薦,相較於其他 Effective XYZ 系列沒有足夠根基根本無法一讀,本書可說:「老少咸宜」。2017 年如果你只打算買一本跟 coding 有關的書籍,本書絕對值回票價!
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言