重構指南 盡快返回(Return ASAP )

2022-08-19 13:42:11 字數 1169 閱讀 7625

盡快返回就是如果方法中的條件判斷可以得到結果,則盡快返回該結果。

1. 檢查條件,如果不滿足就立即返回,不執行下面的邏輯。

2. 當包含大量的if else巢狀,**可讀性變差,也容易出現異常。

3. 在重構時, 盡量使簡單判斷優先執行,盡快返回,提高效能。

**重構前

using

system.collections.generic;

using

system.linq;

using

lostechies.daysofrefactoring.samplecode.breakmethod.after;

using customer =lostechies.daysofrefactoring.breakresponsibilities.after.customer;

namespace

lostechies.daysofrefactoring.samplecode.returnasap.before

public

decimal calculateorder(customer customer, ienumerableproducts, decimal

discounts)

}return

ordertotal;}}

}

**重構後

using

system.collections.generic;

using

system.linq;

using

lostechies.daysofrefactoring.samplecode.breakmethod.after;

using customer =lostechies.daysofrefactoring.breakresponsibilities.after.customer;

namespace

lostechies.daysofrefactoring.samplecode.returnasap.after

public

decimal calculateorder(customer customer, ienumerableproducts, decimal

discounts)

}}

**重構後, 可讀性提高,邏輯清晰。

重構第30天 盡快返回 Return ASAP

理解 把條件語句中複雜的判斷用盡快返回來簡化。詳解 如首先宣告的是前面講的 分解複雜判斷 簡單的來說,當你的 中有很深的巢狀條件時,花括號就會在 中形成乙個長長的箭頭。我們經常在不同的 中看到這種情況,並且這種情況也會擾亂 的可讀性。下 所示,hasaccess方法裡面包含一些巢狀條件,如果再加一些...

31 天重構學習筆記30 盡快返回

摘要 由於最近在做重構的專案,所以對重構又重新進行了一遍學習和整理,對31天重構最早接觸是在2009年 10月份,由於當時沒有訂閱 sean chambers的blog,所以是在國外的社群上閒逛的時候鏈結過去的。記得當時一口氣看完了整個系列並沒有多少感覺,因為這些基本上專案都 在使用,只是我們沒有專...

31 天重構學習筆記30 盡快返回

摘要 由於最近在做重構的專案,所以對重構又重新進行了一遍學習和整理,對31天重構最早接觸是在2009年 10月份,由於當時沒有訂閱 sean chambers的blog,所以是在國外的社群上閒逛的時候鏈結過去的。記得當時一口氣看完了整個系列並沒有多少感覺,因為這些基本上專案都 在使用,只是我們沒有專...