修改代碼的藝術(shù)
我們都知道,即使是最訓(xùn)練有素的開發(fā)團(tuán)隊,也不能保證始終編寫出清晰高效的代碼。如果不積極地修改、挽救,隨著時間流逝,所有軟件都會不可避免地漸漸變得復(fù)雜、難以理解,最終腐化、變質(zhì)。因此,理解并修改已經(jīng)編寫好的代碼,是每一位程序員每天都要面對的工作,也是開發(fā)程序新特性的基礎(chǔ)。然而,與開發(fā)新代碼相比,修改代碼更加令人生畏,而且長期以來缺乏文獻(xiàn)和資料可供參考。
本書是繼《重構(gòu)》和《重構(gòu)與模式》之后探討修改代碼技術(shù)的又一里程碑式的著作,而且從涵蓋面和深度上都超過了前兩部經(jīng)典。書中不僅講述面向?qū)ο笳Z言(Java、C#和C++)代碼,也有專章討論C這樣的過程式語言。作者將理解、測試和修改代碼的原理、技術(shù)和最新工具(自動化重構(gòu)工具、單元測試框架、仿對象、集成測試框架等),與解依賴技術(shù)和大量開發(fā)和設(shè)計優(yōu)秀代碼的原則、最佳實踐相結(jié)合,許多內(nèi)容非常深入,而且常常發(fā)前人所未發(fā)...
我們都知道,即使是最訓(xùn)練有素的開發(fā)團(tuán)隊,也不能保證始終編寫出清晰高效的代碼。如果不積極地修改、挽救,隨著時間流逝,所有軟件都會不可避免地漸漸變得復(fù)雜、難以理解,最終腐化、變質(zhì)。因此,理解并修改已經(jīng)編寫好的代碼,是每一位程序員每天都要面對的工作,也是開發(fā)程序新特性的基礎(chǔ)。然而,與開發(fā)新代碼相比,修改代碼更加令人生畏,而且長期以來缺乏文獻(xiàn)和資料可供參考。
本書是繼《重構(gòu)》和《重構(gòu)與模式》之后探討修改代碼技術(shù)的又一里程碑式的著作,而且從涵蓋面和深度上都超過了前兩部經(jīng)典。書中不僅講述面向?qū)ο笳Z言(Java、C#和C++)代碼,也有專章討論C這樣的過程式語言。作者將理解、測試和修改代碼的原理、技術(shù)和最新工具(自動化重構(gòu)工具、單元測試框架、仿對象、集成測試框架等),與解依賴技術(shù)和大量開發(fā)和設(shè)計優(yōu)秀代碼的原則、最佳實踐相結(jié)合,許多內(nèi)容非常深入,而且常常發(fā)前人所未發(fā)。書中處處體現(xiàn)出作者獨到的洞察力,以及多年開發(fā)和指導(dǎo)軟件項目所積累的豐富經(jīng)驗和深厚功力。通過這部集大成之作,你不僅能掌握最頂尖的修改代碼技術(shù),還可以大大提高對代碼和軟件開發(fā)的領(lǐng)悟力。
Michael Feathers 世界級面向?qū)ο蠹夹g(shù)專家,以豐富的軟件項目開發(fā)經(jīng)驗著稱。目前在世界頂尖的軟件咨詢公司Object Mentor從事敏捷方法/極限編程、測試驅(qū)動開發(fā)、重構(gòu)、面向?qū)ο笤O(shè)計、Java、C#和C++等方面的培訓(xùn)和項目指導(dǎo)。他是著名測試框架CppUnit和FitCpp的開發(fā)者,已經(jīng)主持了三次面向?qū)ο蠼缡﨩OPSLA上的CodeFest比賽。
劉未鵬,熱愛編程技術(shù),長期關(guān)注C++,現(xiàn)在南京大學(xué)計算機(jī)系攻讀碩士學(xué)位,譯有《Imperfect C++中文版》、《Exceptional C++ Style中文版》(人民郵電出版社出版)。個人blog:http://blog.csdn.net/pongba。
