01. 重構原則

目錄

一 重構定義

    1.1 重構當做名詞

    1.2 重構當做動詞

二 爲何重構

    2.1 重構能改進軟件設計

    2.2 重構使軟件更容易理解

    2.3 重構幫助找到 bug

    2.4 重構提高編程速度

三 何時重構

    3.1 三次法則

    3.2 添加功能時重構

    3.3 修補錯誤時重構

    3.4 複審代碼時重構


一 重構定義

    視上下文的不同,“重構”這個詞有兩種不同的定義:

    1.1 重構當做名詞

        對軟件內部結構的一種調整,目的是在不改變軟件可觀察行爲的前提下,提高其可用性,降低其修改成本。

    1.2 重構當做動詞

        使用一系列重構手法,在不改變軟件可觀察行爲的前提下,調整其結構。

二 爲何重構

    重構是一個工具,它可以用於以下幾個目的:

    2.1 重構能改進軟件設計

        重構就像是整理代碼,所做的就是讓所有東西回到應處的位置上。代碼結構的流失是積累性的,越難看出代碼的設計意圖,

        就越難保護其中設計,於是該設計就腐敗的越快。經常性的重構可以幫助代碼維持自己該有的形態。改進設計的一個重要

        方向是消除重複代碼。

    2.2 重構使軟件更容易理解

        重構可以幫助我們讓代碼更容易被閱讀,一開始進行重構時,你的代碼可以正常運行,但結構不夠理想,在重構上花一點

        點時間,就可以讓代碼更好表達自己的用途,這種編程模式的核心就是“準確說出我所要的”。重構可以協助理解不熟悉的

        代碼,因爲當你想對一些代碼進行修改時,必須首先理解這個代碼的用途。

    2.3 重構幫助找到 bug

    2.4 重構提高編程速度

        良好的設計是快速開發的根本,事實上,擁有良好設計纔可能做到快速開發。如果沒有良好的設計,或許某一段時間內你

        的進展迅速,但惡劣的設計很快就讓你的速度慢下來。你會把時間花在調試上面,無法添加新功能。修改時間越來越長,

        因爲你必須花越來越多的時間去理解系統、尋找重複代碼。良好設計是維持軟件開發速度的根本,重構可以幫助你更快速

        的開發軟件,因爲它阻止系統腐敗變質,它甚至可以提高設計質量。

三 何時重構

        重構本來就不應該是專門花特定時間做的事情,重構應該隨時隨地進行,不應該爲了重構而重構,之所以重構,是因爲你

        想做別的事情,而重構可以幫助你把事情做好。

    3.1 三次法則

        第一次做某件事時只管去做;第二次做類似的事會產生反感,但無論如何還是可以去做;第三次做類似的事情,就該重構。

        事不過三,三則重構 。

    3.2 添加功能時重構

         重構的目的是更好的理解功能,可以更好、更快地添加新功能。

    3.3 修補錯誤時重構

         如果收到一份錯誤報告,這就是需要重構的信號,因爲顯然代碼還不夠清晰--沒有清晰到讓你一眼看出bug。

    3.4 複審代碼時重構

         複審可以得到很多好的建議,獲取更高層次的認識,如果不進行重構,很難得到這樣的知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章