軟件開發(fā)既需要理論和科學,也需要經驗和手藝。可惜,一直以來許多圖書都只關注前一部分,而忽略了后一部分。Mark 的這本書主要關注的就是經驗和手藝的部分。本書既詳細講解了 API 設計、紅綠重構等常用技術,也演示了如何撰寫提交說明、如何修改單元測試,同時對故障定位、代碼閱讀、團隊合作等傳統(tǒng)上被認為“難以說清”的話題,也給出了實用而且精當的建議。難能可貴的是,與其他圖書提供的示例代碼庫不同,本書的示例代碼庫包含了完整的 Git 提交記錄。也就是說,讀者可以按照作者的路徑,一步一個腳印地重溫整個開發(fā)過程。如果你的經驗還不夠豐富,建議嚴格按照作者的講解,認真讀完全書,掌握軟件工程的技巧。如果你已經有足夠的開發(fā)經驗,不妨在速覽全書后,精讀自己不熟悉但感興趣的部分。對自己不認同的部分,也不妨花時間了解作者主張的前因后果,讓自己對許多問題有更全面的認知。全書以 C# 為示范語言,但并沒有用到太多 C# 的專屬特性。面對示例代碼,任何熟悉現代主流面向對象語言的讀者,都可以很容易地理解作者背后的思考。