大話重構 (讀書筆記)

2021-09-02 01:29:56 字數 1109 閱讀 3229

本書屬於略讀、跳讀型書籍,了解大概內容即可。需要在實踐中反覆運用書中的建議才能夠掌握知識。

有時間可以本書為基礎做一次主題閱讀

什麼是系統重構?

系統重構就是,在不改變軟體的外部行為的基礎上,改變軟體內部的結構,使其更加易於閱讀、維護和變更。

系統重構,應該盡量避免大設計,而盡量採用乙個乙個連續不斷的小設計。也稱為「小步快跑模式「。

其中的蘊涵了敏捷程式設計的思想:簡單與快速反饋。

修改軟體的四個動機

什麼是重構?

重構的過程就像在做數學題,一步一步地進行等量變換。在重構的過程,需要保持系統外部行為對應的現有結果保持不變性。

在進行重構之間,應該用完善的測試保證重構前後系統行為對相同輸入的一致性。

什麼時候重構?

修改**的兩個步驟

第一步:分解大函式

第二步:拆分大物件

衡量物件好壞的標準是:高內聚,低耦合。我們以職責驅動設計思想為核心,要求設計的所有類和介面都有自己的職責定義,每個類和介面內部的方法和屬性都是圍繞該職責設計的,盡量不取做與職責無關的事情。

第三步:提高**復用率
許多功能之間都有相同或相似的**,如何編寫這部分**?什麼是相似功能呢?1、處理同一流程中某個環節而採用的不同方式。2、在不同業務中某個功能相似或相近的環節

第四步: 發現程式可擴充套件點
進行系統重構另一目的就是: 使系統能夠更加輕鬆地應對系統需求的變更,提高系統的易變性。

第五步:降低程式依賴度
面對日後軟體的變化需求,最根本方法就是降低系統的耦合度,即系統中各個功能之間的互相依賴程度。這也是絕大多少設計模式的目標

1、高層次的模組不應該依賴於底層的模組,兩者都應該依賴於抽象介面 2、抽象介面不應該依賴於具體是吸納,而具體實現應該依賴於抽象介面。

第六步:分層

筆記未覆蓋的地方

《重構》讀書筆記

再次看重構這本書,用了十幾分鐘,看完了原來斷斷續續用了差不多一周看完的第一章 沒有增加什麼新知識 僅對state stategy模式增加了點熟悉度 可見許久前學習第一章還是比較深入的,呵呵。還記得當時看得還是有點費力的。站的高度不同了,視角變化了,所以看得也快,看得也更精深。首先覺得第一章寫的真不賴...

重構讀書筆記

年前參加了軟體重構的培訓,就像老師所說,幾天的培訓不會有實質的變化,主要的目的是出發更深層次的思考和不斷的實踐,1,duplicated code,重複 是最常見,醜陋的壞味道,有以下一些解決辦法 extract method pull up method template method 這個準則最...

重構 讀書筆記

1.重構的基本原則 新增新功能和重構是兩類工作。重構時,盡量不要新增新功能,除非發現了原來程式的錯誤。其實即使發現原來的錯誤,也應該把錯誤暫時記下來,待重構完成後,再修改原來的錯誤。重構就是不修改程式對外的表現形式,哪怕原來是錯誤的。2.重構時state模式的使用 當乙個物件中的某個屬性需要改變類屬...