專案重構 效能優化

2021-09-07 08:15:33 字數 1492 閱讀 1994

重構的目標:

1.持續偏糾和改進軟體設計 

2.提公升專案整體效能,優化**結構

3.使**更被其他人所理解 

4.幫助發現隱藏的**缺陷 

5.從長遠來看,有助於提高程式設計效率,增加專案進度

重構函式:

1.減少臨時變數。例如:if (are > 1000) //改為 if (self.are > 1000)

2.重構類:

//1.搬移方法 //把方法放在最適合的地方

//2.移欄位 //每個字段、變數應該放到自己的類中,不能隨便放,不屬於這個類的字段移走

//3.提煉乙個新類 //將原類的一些屬性和方法可否有共同點,能否做出乙個新類。降低**耦合 //如乙個person類,有number、totalcosts(話費)、name屬性,可新建乙個telephonenumber類,number、totalcosts屬性放入裡面。

//4.內容移動 //子類都有相同的屬性或方法,可將這屬性、方法移到父類;若只是一部分,可建立乙個子類,寫入屬性、方法。需要的類的基礎此類。

//5.提煉介面 //把某些特殊功能的方法寫入介面中,方便其它類呼叫。

重新組織資料:

//1.封裝字段 //寫屬性的get方法,方便子類改變字段結果,提高擴充套件性 [self interg];

//2.物件替代數值 //比如:原來某類只需要名字屬性,後來又需要性別、年齡,可以新增person類。

//3.傳引數時,最好將引數變成物件,資料多時,很方便

if-else:

1.合併條件表示式:如果有一系列條件測試都得到相同結果,將這些結果測試合併為乙個條件表示式

2.改為平行關係,而非包含關係;如果if-else巢狀沒有關聯性,直接提取到第一層;儘量減少臨時變數改用return直接返回

double getpayamount()else

else}}

return result;

改為:double getpayamount()

else if (obj.gettype == 2)

}重構後:

double getpayamount()

else if (obj.gettype == 2)

}double gettype1money(object obj)

double gettype2money(object obj){

objectb objb = obj.getobjectb();

return objb.getmoney()*obj.getnormalmoneryb()+1000;

4.if-else總結:

盡可能地維持正常流程**在最外層,保持主幹流程是正常核心流程

為維持這個原則:合併條件表示式可以有效地減少if語句數目;減少巢狀能減少深層次邏輯;

異常條件先退出自然而然主幹流程就是正常流程。

針對狀態處理型重構方法有兩種:一種是把不同狀態的操作封裝成函式,簡短if-else內**行數;另一種是利用物件導向多型特性直接乾掉了條件判斷。

漫談專案設計 重構 效能優化

重構的好處 重構能夠改進軟體設計,隨著專案需求的變更,專案體積的變大早已與最初的設計大相徑庭,結構變得凌亂 複雜,如果不進行重構,則很難新增新的功能。1 使專案 更容易理解 很多情況下是由於專案趕進度和不注重質量導致的。那麼通過重構可以幫助 維持自己該有的形態。專案開始的時候,設計並沒有考慮到方方面...

react專案 效能優化 首頁優化 載入優化

react路由懶載入 非同步元件 react loadable 以路由元件分割 或者參考 安裝cnpm install react loadable s 如果專案有100個頁面,那laodable.js就需要寫100遍,這樣就感覺有點冗餘了,所以這個我們可以封裝一下 首先,我們建乙個utilsrc ...

React專案載入效能優化

1.開啟頁面 這個時候頁面是完全空白的。2.首屏渲染 html 和引用的 css 載入完畢,瀏覽器進行首次渲染,有可見的內容出現。我們把首次渲染需要載入的資源體積稱為 首屏體積 3.首次內容渲染 react react dom 業務 載入完畢,應用第一次渲染,頁面主要內容出現。4.可互動 然後應用的...