天天看點

《重構》讀書筆記(1)——為何重構

 重構定義

重構名詞形式定義:對軟體内部結構的一種調整,目的是在不改變軟體之可察行為前提下,提高其可了解性,降低其修改成本。

重構的動詞形式定義:使用一系列重構準則(手法),在不改變軟體之可察行為前提下,調整結構。

為什麼要重構

1、改進軟體設計。

當人們隻為短期目的,或是在完全了解整體設計之前,就貿然修改代碼,程式将逐漸失去自己的結構,程式員愈來愈難通過閱讀代碼而了解原來設計。重構很像是在整理代碼,你所做的就是讓所有東西回到應該的位置上。代碼結構的流失是積累性的。經常性的重構可以幫助代碼維持自己該有的狀态。

2、使軟體更易被了解

從建立新功能這個角度來看,編寫程式主要是和計算機交談,而從維護這個角度來看,編寫程式的主要工作是與自己或其他程式員交談,因為一個軟體的生命周期中,維護占了大部分比重,是以與人交談更為重要。是以更容易被了解的程式就更有意義,而重構就可以使我們程式更容易了解。

3、重構助你找到bug

對代碼的了解,可以幫助我找到bug。重構的過程就是我們對代碼進一步了解的過程。Kent Beck說“我不是一個偉大的程式員;我隻是個有着優秀習慣的好程式員而已。”重構能夠幫助我更有效地寫出強固穩健的代碼。

4、助你提高程式設計速度

良好設計是快速軟體開發的根本。事實上擁有良好設計才可能達成快速的開發。如果沒有良好的設計,或許某一段時間内你的進展迅速,但惡劣的設計很快就讓你的速度慢下來。你會把時間花在調試上面,無法添加新功能。修改時間愈來愈長,因為你必須花愈來愈多的時間去了解系統、尋找重複代碼。良好的設計是維持軟體開發速度的根本。重構可以幫助你更快速的開發軟體,因為它阻止系統腐敗變質,他甚至還可以提高設計品質。

繼續閱讀