[爆卦]重構改善既有程式的設計是什麼?優點缺點精華區懶人包

為什麼這篇重構改善既有程式的設計鄉民發文收入到精華區:因為在重構改善既有程式的設計這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者tyc5116 (累人啊....)看板Soft_Job標題[賞書] 重構-改善既有程式的設計時間...




@書名:(請盡量寫正確的全名)
重構-改善既有程式的設計
@書本類型:(繁體書、簡體書、翻譯書、英文書)
翻譯書(繁體書)
@購買時間:(約略就好~)
2012 2月....吧
@購買地點:
實體書店(新竹)

@連結:(請至少附上一個參考連結,方便使用者找尋、購買。)
http://www.tenlong.com.tw/items/9861547533?item_id=45657

@入手方式:借閱(圖書館、親友)、購買、交換
購買

@為什麼會買這本書?
某個版上看到推薦
@讀完有任何感想?(請至少附上五十字感想)
超讚的,裡面包含了將近七十種重構的手法,目的在於讓原有的程式

看起來更為簡潔,以便於日後的維護,擴充等等,重點在於每個重構手法都不難

學習難度不高

(不過難是難在於實務上如何應用這些手法啦...)

比起其它進階的書在説明一些coding的手法(比如說template)

先學習重構的手法更為實用

原因在於即使使用了較高明的撰寫手法(如template)

其它人不見得看的懂(甚至沒學過),接手就不容易

但重構不同,好的重構結果,程式是很容易理解的

@覺得買得有價值嗎? Yes/No
Yes
@如果給一到五顆星,你給幾顆? (*****)
*****


(註:如果要批評請就事論事,請勿出現人身攻擊。)
碁峰有些的書會標明難度,這一本的難度血條竟然是全滿!!!

(STL也還沒那麼高.....)

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.246.119.246
TonyQ:這本蠻值得推薦的 08/18 17:39
TonyQ:裡面還有一個重點是重構跟修改是兩種不同角色,不可混為一談 08/18 17:39
rodion:推這本書 難度其實不高 但實用度卻是滿點 08/18 19:36
hl4:最近才剛從圖書館借到這本 08/18 20:35
viable:好,去看看 08/18 22:44
chyi1004:我一個高手同事也推薦這本書 只是都沒時間看>< 08/19 00:14
okWen:這本終於出現在這了ww 08/19 00:15
edward13:看書不難但現實上的重構難上加難 大多數人都不敢動原有的 08/19 00:21
edward13:原可以跑的程式 大多是政治問題 不過這本是增加功力必備 08/19 00:23
james732:這本真的很棒 08/19 02:17
landlord:另一個比較特別的重點是,重構通常是加一層反腐敗層 08/19 04:36
landlord:但把用不到的反腐敗層拿掉,也是另一種重要的重構 08/19 04:37
landlord:後者感覺要比前者難得多啊..:P 08/19 04:37
loveme00835:xD 我是建議搭配 prefactoring 一起看啦 08/19 07:33
diabloevagto:樓上是神人 08/19 11:48
tyc5116:landlord可以說明一下嗎,不是很懂? 08/19 11:51
diabloevagto:adapter的意思嗎?只開放使用者會用到的部份? 08/19 13:08
landlord:重構的重點通常有3種: 1.降低重複的程式碼; 2.解耦 08/19 14:09
landlord:3.增加可維護性 08/19 14:09
landlord:而解耦的部分,有一個通則:任何解耦都可以透過一層反腐敗 08/19 14:09
landlord:層,來降低兩個物件之間的耦合程度 08/19 14:10
landlord:IoC就是很標準的一種做法 08/19 14:10
landlord:但當用OO或design pattern over design時, 就會發現 08/19 14:10
landlord:系統中充斥著過多用不到的反腐敗層,這些為了不曾也不會 08/19 14:11
landlord:發生的需求,所額外的設計,只會造成維護性的降低,增加 08/19 14:11
landlord:架構的複雜度。 08/19 14:11
landlord:所以重構,另一種角度是要去檢視系統是否存在這類設計 08/19 14:12
landlord:雖然拔掉可能很快也很簡單,但已經為了彈性而設計的東西 08/19 14:12
landlord:要拔掉時,通常面對的是人性的考驗,而不是技巧了 08/19 14:12
landlord:這本書還有highlight出一個重點:不要看不起最簡單的重構 08/19 14:13
landlord:技巧,例如renaming或extra method,雖然是最小的技巧 08/19 14:13
landlord:卻是最實用,效用最高,風險最低的技巧 08/19 14:14
landlord:不過看這本書,建議還是要先看得懂class diagram 08/19 14:14
diabloevagto:l大推文不錯xd可以用回文的啊! 08/19 14:47
diabloevagto:反腐敗層 的英文是什麼啊?google好像沒這個 08/19 14:50
landlord:原文應該是layer of indirection,間接層 08/19 16:02
landlord:Computer Science is the discipline that believes 08/19 16:03
landlord:all problems can be solved with one more layer of 08/19 16:03
landlord:indirection. (from Dennis DeBruler) 08/19 16:04
landlord:書上這一段是Kent Beck寫的,我把它節錄到下面這個網址 08/19 16:09
landlord:https://gist.github.com/3393522 08/19 16:09
csieflyman:我覺得可以搭配著看 Refactoring to Patterns 這本書 08/19 16:59
diabloevagto:THX! 08/19 17:51
tyc5116:謝謝 08/19 21:20
v7q4:推這本! 08/19 22:37
lemonstar:推...重構娜兩本都是很實用的書籍 08/19 22:45
snaketsai:推書&L大補充說明~ 08/19 23:40

你可能也想看看

搜尋相關網站