為什麼要重構

2021-08-26 13:07:12 字數 993 閱讀 7255

什麼是重構

重構,用最簡單的一句話說:就是要在不改變系統功能的情況下,對系統的內部結構進行重新調整。重構的最直接目的在於改進軟體系統的內部架構。乙個好的結構可以更加適應於需求的變化,更好的滿足客戶的需求,最大限度的延長軟體系統的生命週期。

為什麼要重構

在不改變系統功能的情況下,改變系統的實現方式。為什麼要這麼做?投入精力不用來滿足客戶關心的需求,而是僅僅改變了軟體的實現方式,這是否是在浪費客戶的投資呢?

重構的重要性要從軟體的生命週期說起。軟體不同與普通的產品,他是一種智力產品,沒有具體的物理形態。乙個軟體不可能發生物理損耗,介面上的按鈕永遠不會因為按動次數太多而發生接觸不良。那麼為什麼乙個軟體製造出來以後,卻不能永遠使用下去呢?

對軟體的生命造成威脅的因素只有乙個:需求的變更。乙個軟體總是為解決某種特定的需求而產生,時代在發展,客戶的業務也在發生變化。有的需求相對穩定一些,有的需求變化的比較劇烈,還有的需求已經消失了,或者轉化成了別的需求。在這種情況下,軟體必須相應的改變。

考慮到成本和時間等因素,當然不是所有的需求變化都要在軟體系統中實現。但是總的說來,軟體要適應需求的變化,以保持自己的生命力。

這就產生了一種糟糕的現象:

軟體產品最初製造出來,是經過精心的設計,具有良好架構的。但是隨著時間的發展、需求的變化,必須不斷的修改原有的功能、追加新的功能,還免不了有一些缺陷需要修改。為了實現變更,不可避免的要違反最初的設計構架。經過一段時間以後,軟體的架構就千瘡百孔了。bug越來越多,越來越難維護,新的需求越來越難實現,軟體的構架對新的需求漸漸的失去支援能力,而是成為一種制約。最後新需求的開發成本會超過開發乙個新的軟體的成本,這就是這個軟體系統的生命走到盡頭的時候。

重構就能夠最大限度的避免這樣一種現象。系統發展到一定階段後,使用重構的方式,不改變系統的外部功能,只對內部的結構進行重新的整理。通過重構,不斷的調整系統的結構,使系統對於需求的變更始終具有較強的適應能力。

為什麼要重構

在現實工作中,重構 更多被用來成為彌補缺陷 增加功能 修改設計等工作,而很多人潛意識裡也認為重構就是修改 重寫 而這往往曲解了重構的本意。重構是乙個過程,是建立在不違背外在行為的前提下,對 進行修改,改進程式的內部結構。重構不等於重新設計,軟體工程裡一定要先進行設計,再進行編碼,而如果你在之後對設計...

為什麼要進行重構? 《重構》節選

我不想把重構說成治百病的萬靈丹,它絕對不是所謂的 銀彈 不過它的確很有價值,雖不是一顆銀子彈,卻是一把 銀鉗子 可以幫助你始終良好地控制自己的 重構是個工具,它可以 並且應該 為了以下數個目的而被運用 重構改進軟體設計 如果沒有重構,程式的設計會逐漸腐敗變質。當人們只為短期目的,或是在完全理解整體設...

為什麼重構

改進軟體設計 一項主要的工作就是刪除重複的 使軟體更易被理解 為了給將來的自己看,給另乙個guy看。然後,你會看到更深遠的東西。擦掉窗戶上的汙垢,使你看得更遠 助你找到bugs kent beck 我不是個偉大的程式設計師 我只是個有著一些優秀習慣的好程式設計師而已。重構能夠幫助我更有效的寫出強固穩...