[讀書]讀《重構-改善既有代碼的設計》

讀《重構-改善既有代碼的設計》


斷斷續續,加上過年,花了快2個月吧,把《重構-改善既有代碼的設計》讀完了,這裏總結下。java

  • 發現此書背景數據庫

  • 讀的感受函數

  • 知識感觸工具

發現此書背景

這本書是從同事的桌子上發現的,讀了三四頁以後就被吸引住了。如今想來,主要是由於做者寫的簡潔明瞭,上來第一章就使用了一個簡潔而不簡單的示例,講述了重構的過程,而不是一上來就長篇大論,並且做者運用了對比的方式,左側是重構前的代碼,右側是重構後的代碼。一會兒就吸引住了個人目光,而後當晚就在辦公室讀起來,讀了不少頁。下面就是這貨…性能

讀的感受

讀到大半截,發現裏面使用的技術雖然是java1.1 1.2,可是仍是像封面上講的依舊是經典,並且真是開發者進階的書目。測試

書上敘述的的東西,工做幾年後,你可能平時中都有使用,可是做者倒是造成了一個體系,以分片斷,用對比,講述這樣作重構後的好處及步驟。spa

同時做者也不會硬性的要求你這樣那樣去作,他會直接了當的列出各類狀況,在哪些狀況下,你適合這樣去作,以及做者有時候也會說他也分辨不出,讓你擊節讚歎,你才發現原來個人疑惑是正常的現象,這真是一個很真實很嚴謹的做者。設計

知識感觸

1.第一個示例完成後,做者開始長篇論,這裏很重要。其中的內容解決了你們對重構的各類問題。orm

我感觸很深的有如下幾點對象

  •  重構與設計的關係,開始作設計,不少人會作過分設計,由於設計者爲了後續的擴展須要,可是他也知道如今設計多了,考慮成本,也不是多好的一件事情,因此對設計者要求很高,壓力很大,可是若是有了重構,就減輕了設計的壓力,可以隨機應變。

  •  如何保證重構的準確性,創建測試機制,自動化測試,重構先寫重構這部分的測試,以保證你任什麼時候候想重構都不懼怕改變。

下面是一些其餘的一些點,供你們參考:

  •  何爲重構

  •  爲什麼重構

  •  什麼時候重構:添加功能;修補錯誤;複審代碼;

  •  怎麼對上級說

  •  重構的難題:數據庫(中間層解決);修改接口;什麼時候不應重構;

  •  重構和性能

2.
後面一章就開始講代碼的壞味道了,這是你們都熟悉的一章,做者精心的分出了不一樣的壞的代碼,這裏再也不贅述,好比:過長的方法;重複的代碼;不清晰的變量……

3.而後開始重構,第一步創建測試體系,這是一章

4.
如何重構,做者從幾個大的方面,每一個方面分出不一樣的點來說述的:組織函數、對象之間搬移特性、從新組織數據、簡化函數調用。大部分是經驗豐富的開發者使用的,讓人感受到很是熟悉的感受。每一個都有例子,我不少直接看例子過去的。

舉例1:getinvdtlmt 函數更名 getInvoiceableCreditLimit
舉例2:不少類內函數本身使用的用private來修飾
舉例3:以狀態對象來取代狀態碼獲取更好的擴展性
等等…

5.講述瞭如何大型重構
大型重構多是好幾年的事情,天天一點點,慢慢來;另外做者也說明了梳理重構思路的一些方式

6.重構的工具
工具突飛猛進,這章卻是有點過期了,哈哈。

這本書428頁,你若是是一個有着必定經驗的人,讀起來很輕鬆,並且提高很大。建議有必定經驗的人閱讀,你不會後悔。

相關文章
相關標籤/搜索