※ 本文為 kewang 轉寄自 ptt.cc 更新時間: 2012-08-27 23:44:43
看板 Soft_Job
作者 標題 [賞書] 重構-改善既有程式的設計
時間 Sat Aug 18 15:14:56 2012
@書名:(請盡量寫正確的全名)
重構-改善既有程式的設計
@書本類型:(繁體書、簡體書、翻譯書、英文書)
翻譯書(繁體書)
@購買時間:(約略就好~)
2012 2月....吧
@購買地點:
實體書店(新竹)
@連結:(請至少附上一個參考連結,方便使用者找尋、購買。)
http://www.tenlong.com.tw/items/9861547533?item_id=45657
@入手方式:借閱(圖書館、親友)、購買、交換
購買
@為什麼會買這本書?
某個版上看到推薦
@讀完有任何感想?(請至少附上五十字感想)
超讚的,裡面包含了將近七十種重構的手法,目的在於讓原有的程式
看起來更為簡潔,以便於日後的維護,擴充等等,重點在於每個重構手法都不難
學習難度不高
學習難度不高
(不過難是難在於實務上如何應用這些手法啦...)
比起其它進階的書在説明一些coding的手法(比如說template)
先學習重構的手法更為實用
原因在於即使使用了較高明的撰寫手法(如template)
其它人不見得看的懂(甚至沒學過),接手就不容易
但重構不同,好的重構結果,程式是很容易理解的
@覺得買得有價值嗎? Yes/No
但重構不同,好的重構結果,程式是很容易理解的
@覺得買得有價值嗎? Yes/No
Yes
@如果給一到五顆星,你給幾顆? (*****)
*****
(註:如果要批評請就事論事,請勿出現人身攻擊。)
碁峰有些的書會標明難度,這一本的難度血條竟然是全滿!!!
(STL也還沒那麼高.....)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.246.119.246
→ :這本蠻值得推薦的1F 08/18 17:39
→ :裡面還有一個重點是重構跟修改是兩種不同角色,不可混為一談
→ :裡面還有一個重點是重構跟修改是兩種不同角色,不可混為一談
推 :推這本書 難度其實不高 但實用度卻是滿點3F 08/18 19:36
推 :最近才剛從圖書館借到這本4F 08/18 20:35
推 :好,去看看5F 08/18 22:44
推 :我一個高手同事也推薦這本書 只是都沒時間看><6F 08/19 00:14
推 :這本終於出現在這了ww7F 08/19 00:15
推 :看書不難但現實上的重構難上加難 大多數人都不敢動原有的8F 08/19 00:21
→ :原可以跑的程式 大多是政治問題 不過這本是增加功力必備
→ :原可以跑的程式 大多是政治問題 不過這本是增加功力必備
推 :這本真的很棒10F 08/19 02:17
→ :另一個比較特別的重點是,重構通常是加一層反腐敗層11F 08/19 04:36
→ :但把用不到的反腐敗層拿掉,也是另一種重要的重構
→ :後者感覺要比前者難得多啊..:P
→ :但把用不到的反腐敗層拿掉,也是另一種重要的重構
→ :後者感覺要比前者難得多啊..:P
→ :xD 我是建議搭配 prefactoring 一起看啦14F 08/19 07:33
推 :樓上是神人15F 08/19 11:48
→ :landlord可以說明一下嗎,不是很懂?16F 08/19 11:51
推 :adapter的意思嗎?只開放使用者會用到的部份?17F 08/19 13:08
→ :重構的重點通常有3種: 1.降低重複的程式碼; 2.解耦18F 08/19 14:09
→ :3.增加可維護性
→ :而解耦的部分,有一個通則:任何解耦都可以透過一層反腐敗
→ :層,來降低兩個物件之間的耦合程度
→ :IoC就是很標準的一種做法
→ :但當用OO或design pattern over design時, 就會發現
→ :系統中充斥著過多用不到的反腐敗層,這些為了不曾也不會
→ :發生的需求,所額外的設計,只會造成維護性的降低,增加
→ :架構的複雜度。
→ :所以重構,另一種角度是要去檢視系統是否存在這類設計
→ :雖然拔掉可能很快也很簡單,但已經為了彈性而設計的東西
→ :要拔掉時,通常面對的是人性的考驗,而不是技巧了
→ :這本書還有highlight出一個重點:不要看不起最簡單的重構
→ :技巧,例如renaming或extra method,雖然是最小的技巧
→ :卻是最實用,效用最高,風險最低的技巧
→ :不過看這本書,建議還是要先看得懂class diagram
→ :3.增加可維護性
→ :而解耦的部分,有一個通則:任何解耦都可以透過一層反腐敗
→ :層,來降低兩個物件之間的耦合程度
→ :IoC就是很標準的一種做法
→ :但當用OO或design pattern over design時, 就會發現
→ :系統中充斥著過多用不到的反腐敗層,這些為了不曾也不會
→ :發生的需求,所額外的設計,只會造成維護性的降低,增加
→ :架構的複雜度。
→ :所以重構,另一種角度是要去檢視系統是否存在這類設計
→ :雖然拔掉可能很快也很簡單,但已經為了彈性而設計的東西
→ :要拔掉時,通常面對的是人性的考驗,而不是技巧了
→ :這本書還有highlight出一個重點:不要看不起最簡單的重構
→ :技巧,例如renaming或extra method,雖然是最小的技巧
→ :卻是最實用,效用最高,風險最低的技巧
→ :不過看這本書,建議還是要先看得懂class diagram
→ :l大推文不錯xd可以用回文的啊!34F 08/19 14:47
→ :反腐敗層 的英文是什麼啊?google好像沒這個
→ :反腐敗層 的英文是什麼啊?google好像沒這個
→ :原文應該是layer of indirection,間接層36F 08/19 16:02
→ :Computer Science is the discipline that believes
→ :all problems can be solved with one more layer of
→ :indirection. (from Dennis DeBruler)
→ :書上這一段是Kent Beck寫的,我把它節錄到下面這個網址
→ :https://gist.github.com/3393522
→ :Computer Science is the discipline that believes
→ :all problems can be solved with one more layer of
→ :indirection. (from Dennis DeBruler)
→ :書上這一段是Kent Beck寫的,我把它節錄到下面這個網址
→ :https://gist.github.com/3393522
推 :我覺得可以搭配著看 Refactoring to Patterns 這本書42F 08/19 16:59
推 :THX!43F 08/19 17:51
→ :謝謝44F 08/19 21:20
推 :推這本!45F 08/19 22:37
推 :推...重構娜兩本都是很實用的書籍46F 08/19 22:45
推 :推書&L大補充說明~47F 08/19 23:40
--
※ 看板: Soft_Job 文章推薦值: 0 目前人氣: 0 累積人氣: 3001
回列表(←)
分享