
[美]Michael C. Feathers
修改代碼是每一位軟件開發人員的日常工作。開發人員常常面對的現實是,即便是最訓練有素的開發團隊也會寫出混亂的代碼,而且系統的腐化程度也會日積月累。本書是一部里程碑式的著作,針對大型的、無測試的遺留代碼基,提供了從頭到尾的方案,讓你能夠更有效地應付它們,將你的遺留代碼基改善得具有更高性能、更多功能、更好的可靠性和可控性。本書還包括了一組共24項解依賴技術,它們能幫助你單獨對付代碼中的問題片段,並實現更安全的修改。
很垃圾的書,廢話很多,而且老舊過時。 書裏講了很多依賴分離技術,實際上現在直接用 mock 工具 mock 一個對象就解決問題了。 別看,浪費時間。
修改代碼,一切都建立在測試之上,書中的所有方法都是爲了提高代碼的可測性,便於在修改代碼時能夠不破壞原有邏輯,同時能夠添加測試。 修改代碼之前先要讓測試就位,但要寫測試需要讓代碼可測,因此需要一系列的安全重構,而安全的重構是有測試保護,是不是套娃了。 本書的核心是把測試視爲一等公民。書中的很多方法可能已經過時了,因爲很多功能現在的IDE都已經支持,或者通過mock框架就能夠輕易的隔離依賴,但是還是很有價值瞭解一下這些原始的方法,因爲它們也是工具發展背後的驅動力。 書中的例子都是java、C++、C,會java的在閱讀和理解上並沒有太大的障礙。
非常好的一本書。能夠結合實際問題出發解決問題,書中給出了很多好的實戰經驗。被困擾於老舊項目改造的同學可以來學習一下。
比較早的書,但很少關注修改代碼的兼容性,很不錯的啓發。
作爲一個老程序員,讀完這本書的整體感受是從激情澎湃到食之無味! 這本書從便於測試代碼(單元測試)以及減少修改代碼的影響範圍,提出幾種重構方案,如重載方法,接口分離
這本書對於讀者要求較高,更適合技術管理。對於從程序員慢慢向帶有管理性任務人羣,比如管理多人協作開發的人羣,本書的講解又恰到好處。我恰好就屬於此類,十分感謝作者將自己寶貴的經驗分享出來。
有點囉嗦,系統性不強,但亦可以一讀增加些視角和方法。
這版本翻譯不太行,讀的時候感覺很晦澀,增加了理解的難度。