1.定義
在軟體工程學中重構(refactoring)就是在不改變軟體現有功能的基礎上,通過調整程式**改善軟體的質量、效能,使其程式的設計模式和架構更趨合理,提高軟體的擴充套件性和維護性。
2.重構的重要性? 為什麼要重構?
為什麼要重構?在不改變系統功能的情況下,改變系統的實現方式。為什麼要這麼做?投入精力不用來滿足客戶關心的需求,而是僅僅改變了軟體的實現方式,這是否是在浪費客戶的投資呢?
對軟體的生命造成威脅的因素只有乙個:需求的變更。乙個軟體總是為解決某種特定的需求而產生,隨著時間的推移客戶的需求總是會發生變化的,這就產生了一種糟糕的現象:軟體產品最初製造出來,是經過精心的設計,具有良好架構的。但是隨著需求的變化,必須不斷的修改原有的功能、追加新的功能,還免不了有一些缺陷需要修改。為了實現變更,不可避免的要違反最初的設計構架。經過一段時間以後,軟體的架構就千瘡百孔了。bug越來越多,越來越難維護,新的需求越來越難實現,軟體的構架對新的需求漸漸的失去支援能力,而是成為一種制約。最後新需求的開發成本會超過開發乙個新的軟體的成本,這就是這個軟體系統的生命走到盡頭的時候。
重構就能夠最大限度的避免這樣一種現象。系統發展到一定階段後,使用重構的方式,不改變系統的外部功能,只對內部的結構進行重新的整理。通過重構,不斷的調整系統的結構,使系統對於需求的變更始終具有較強的適應能力,延長軟體生命週期。
重構的好處:
3.什麼時候進行重構?什麼情況下需要重構?
存在以下情況需要重構:
4.重構中的注意點
1.重構中需要注意修改已經對外提供的介面,這時你需要特別謹慎,因為任何事情都有可能發生。最好的辦法是發布乙個新介面,保留原有介面,在原有介面裡直接呼叫新接 口(注意:不是copy新介面的**,這樣會導致**重複),然後在原有舊介面上增加註解「"@deprecated"(不贊成、過時的方法),這樣可以給呼叫介面的地方提供時間來修改。
重構的重新認識
序言中,熊傑對重構的思考 認為存在的問題 1.認為掌握思想就夠了,不重重構手法 2.大刀闊斧的修改,甚者重建整個專案 重新認識 1.不要大刀闊斧 重構的基本定義 重構是在不改變軟體可觀察行為的前提下改善其內部結構。依靠的是那些已經被證明是行為保持的重構手法 整理出可測試的介面,給它新增測試,以此為重...
this簡單認識
this 在函式中簡單的說,this的指向存在於函式呼叫的時候決定的,誰呼叫了這函式 函式中的this就指向誰 例如 1 普通的呼叫函式的時候 fn window2 物件呼叫 var obj obj.f fn obj.f this obj3 定時器呼叫 因為fn不是我們自己手寫 呼叫的 底層是win...
重構你的軟體企業
這裡說說自己對乙個軟體企業的構建和管理的感想,不全面,因為我就一程式設計師,只能站在普通員工的角度考慮問題,也是站在中國廣大小公司的立場思考的,文章標題取的比較大,為了吸引更多人來拍磚。管理上的細節我也不懂,主要就是讓每個人都開心,互利互贏,讓公司有發展的潛力。以下角色必不可少。專案經理 負責軟體的...