這本也是很多人推薦的書,在 goodreads 有 4.31 的高分:The Pragmatic Programmer: From Journeyman to Master by Andy Hunt,大學的時候就聽到身邊很多人讀完這本了,但我一直到最近才看完這本書,至少「看好書永遠不嫌晚」?以下就留個紀錄和想法吧。
關於作者簡介與目錄的部份,可以參考天瓏書局的頁面:天瓏網路書店-程序員修煉之道 :從小工到專家 (The Pragmatic Programmer: From Journeyman to Master)
看這本書的時候一直想到《人月神話》,主要是因為章節名稱的風格吧,都是比喻的方式,有點像是寓言故事風格的標題,所以讓人滿好記憶的。
這本書主要就是在教你如何寫出品質夠好的程式碼,包含了函式撰寫、演算法、效能、註解、測試、重構、基本工具、例外處理、如何根據需求寫出夠有彈性的程式碼...等等,透過比喻、 分類、圖例、實際程式碼來做說明。
第一次瀏覽的話我個人的建議是,在掃目錄裡面出現的大標題的時候,裏面都會有些小標題,大概掃過去就可以知道在講什麼。
大概有個概念以後可以再做比較詳細的瀏覽,如果有已經知道的部份就可以跳過啦,只看自己比較不知道的部份。大概就是 BFS 的閱讀方式,會有種由淺入深的感覺。
真的有在寫這種技術文就會發現,真的要足夠的實力才有辦法把這種實際上寫程式會遇到的問題抽象化成書中的比喻,甚至還對其做分類。也算是之後自己寫技術文的目標之一吧,能夠把實際上遇到的問題抽象化並歸納整理再清楚的描述出來,真的需要不少心力。
第八章算是把前面七章提到的東西整合起來,如果對整本書在講的東西沒有什麼概念,想用 top down approach 的方式閱讀的話,我建議可以先看第八章。因為這本書都會在內容附上跟哪個章節有關並告訴你頁碼,所以很好做 cross reference 方式的閱讀,看到不懂的再翻到前面看個詳細。
想要快速複習的人,可以翻到最後面的 Quick Refernce Guide,列出了 70 個書中的提示重點,也都有標頁碼。可以用來訓練自己看看能不能大概講出這個提示重點在講什麼,如果講不出來的話就可以快速翻到該重點那頁再重新看一遍。
工作以後看這本書,對於某些章節真的是頗有感觸的,這幾天應該會再多瀏覽這本書幾遍吧。這種夠有系統的分析寫程式這件事情,並列出需要注意的點讓程式碼的品質更好,才真的說得上是軟體工程啊,工程是需要有系統的。
如果覺得我的文章不錯的話,
請幫我按讚、追蹤、訂閱、留言、分享,
有任何問題也都歡迎留言討論,
也可以利用像是 Feedly 等 RSS Reader,
直接訂閱我的部落格:https://blog.m157q.tw。
iThome 這邊我應該只有鐵人賽的時候會使用。