重構筆記1

2021-08-22 16:43:48 字數 1013 閱讀 2741

1、好**的兩個重要標誌:易讀、易改。

2、重構的定義:在不改變**的外在行為的前提下,對**做出修改,以改進程式的內部結構。

3、當你發現自己需要為乙個程式新增乙個特性,而**的結構使得你不能很方便的這麼做,那麼先重構那個程式,使得特性的新增比較容易進行,然後再新增特性。

4、設計不良的程式,往往需要更多的**,因為在不同的地方存在使用完全相同的語句在做同樣的事情。

5、重構可以改進設計,而改進設計的乙個重要方向,就是消除重複**。**數量的減少不會使系統執行更快,然後**數量的減少使得未來可能的修改變得容易的多。

6、重構可以使得**更易讀,而隨著**逐漸簡潔,我們可以看出一些以前看不到的設計層面的東西。如果不對**做這些修改,我們可能永遠看不到他們。

7、重構可以把我們待到更高的理解層次上。

8、重構可以使我們深入了解**的行為,而對**的深入理解,可以幫助我們找到bug。在搞清楚**結構的時候,我們會弄清楚**所作的一些假設的正確與否,這是乙個良好的習慣。

9、kent beck的名言:我不是個偉大的程式設計師,我只是乙個有著一些良好習慣的好程式設計師而已。

10、重構可以使我們能夠寫出強固穩健的**。

11、重構有助於提高程式設計速度。因為良好的設計才是快速開發的基礎,沒有良好的設計,可能一段時間你進展很快,但惡劣的設計很快使你的速度慢下來。你會把很多時間花在除錯上,新增功能變得越來越難,修改時間越來越長。

12、重構的時間,有三個原則。分別是:新增功能時、修改錯誤時、複審**(code review)時。

13、常態性的code reviews有助於在團隊中傳播知識,幫助更多人理解大型軟體系統的更多部分。code review也有助於**的清晰。

14、程式有兩面價值:「今天可以為你做什麼」,「明天可以為你做什麼」,重構有利於在明天對軟體進行修改和擴充套件。

15、**會為**引入很多間接層,重構往往會把大型物件拆成數個小型物件,把大型函式拆分成數個小型函式。

16、間接層的價值:

17、有一種重構是找出不值得的間接層,並拿掉他。這種間接層常以中介函式形式出現。

《軟體設計重構》讀書筆記(1)

看過許多關於物件導向軟體設計方面的書籍,那些書裡面告訴我如何利用物件導向的設計原則和設計模式,去設計出高內聚,低耦合的軟體系統。而 軟體設計重構 一書卻是從另外乙個角度出發,通過分類的方式向我展示了什麼樣的設計是有缺陷的,這種缺陷違反了那些設計原則和模式,如何將這種有缺陷的設計重構成好的軟體系統。乙...

重構 個人筆記

1 盡量去掉臨時變數 2 以下情況可以重構 2.1 過長函式 1 若 前有注釋 2 若有條件表示式或者迴圈語句 3 重組函式 1 以查詢取代臨時變數 2 乙個臨時變數只承擔乙個職責,需要時分解臨時變數 3 移除對形參的賦值 4 以函式物件取代函式,把函式提煉到實體類內 4 重組組織資料 1 用建構函...

重構 Move Method 筆記

重構 move method move method就是將方法遷移到合適的位置。條件 當乙個方法被其他類使用比在它所在類中的使用還要頻繁時,我們就需要將方法遷移到更頻繁地使用它的類中 move method重構 範例如下 public class bankaccount public intacco...