extract method 提煉方法 (110)
將代碼放進一個獨立函數(shù)中叽赊,并讓函數(shù)名稱解釋該函數(shù)的用途
pull up field 字段上移 (332)
兩個子類擁有相同的字段沧烈,將該字段移動到超類。
extract class 提煉類(149)
某個類做了應(yīng)有兩個類做的事荸百,建立一個新類稽坤,將相關(guān)字段和函數(shù)從舊類搬到心類。
move method 搬移函數(shù)
程序中渔伯,有個函數(shù)與其所駐類之外的另一個類進行更過交流顶霞,調(diào)用后者,或被后者調(diào)用锣吼,在該函數(shù)最常引用的類中建立一個新函數(shù)选浑,將舊函數(shù)變成一個單純的委托函數(shù),或是將舊函數(shù)完全移除玄叠。
encapsulate field 封裝字段
將其聲明為private古徒,并提供相應(yīng)的訪問函數(shù)。安全問題读恃,如果不封裝其他地方修改對象中的屬性隧膘,該對象的使用者并不知情代态。
move field 搬移字段
與4相同意思。
duplicated code 重復(fù)代碼 (76)
form template method 塑造模板函數(shù) (345)
你有一些子類疹吃,其中相應(yīng)的某些函數(shù)蹦疑,以相同的順序執(zhí)行類似的操作,但各個操作的細節(jié)上有所不同萨驶。
將這些操作分別放進獨立函數(shù)中歉摧,并保持他們都有相同的簽名。于是原函數(shù)也變得相同了腔呜,將原函數(shù)上移到超類叁温。
調(diào)用的時候調(diào)用超類中的原函數(shù),通過多態(tài)指定調(diào)用的子類育谬。
設(shè)計模式中的Template method 注重順序券盅。(我現(xiàn)在做的項目中edi導(dǎo)出報文使用的就是模板方法模式)
substitute Algorithm 替換算法 (139)
將函數(shù)本體替換為另一個算法(注意if判斷固定幾個值時,可以把固定的幾個值放入集合中 139)
replace temp with query 以查詢?nèi)〈R時變量 (120)
你的程序以一個臨時變量保存某一表達式的運算結(jié)果膛檀,將這個表達式提煉到一個獨立函數(shù)锰镀,將這個臨時變量的所有引用點替換為對新函數(shù)的調(diào)用,此后咖刃,新函數(shù)就可以被其他函數(shù)調(diào)用泳炉。
split temporary variable 分解臨時變量
你的程序某個臨時變量被幅值超過一次,他即不是循環(huán)變量嚎杨,也不被用于收集計算結(jié)果花鹅,針對每一次賦值,創(chuàng)造一個對立的枫浙,對應(yīng)的臨時變量(final)
Intriduce paramter object 引入?yún)?shù)對象( 295)
某些參數(shù)總是很自然的同時出現(xiàn)刨肃,以一個對象取代這些參數(shù)。(如startDate箩帚,endDate)
preserve whole object 保持對象完整 (288)
你從某個對象取出若干值真友,將他們作為某一次函數(shù)調(diào)用時的參數(shù),改為傳遞整個對象紧帕。
replace method with method object 以函數(shù)對象取代函數(shù) (135)
你有一個大型函數(shù)盔然,其中對局部變量的使用使你無法采用提煉函數(shù),將這個函數(shù)放進一個單獨對象中是嗜,如此以來局部變量就變成了對象中的一個字段愈案,然后你可以在同一個對象中將大型函數(shù)分解成多個小型函數(shù)。
decompose conditional 分解條件表達式 (238)
有一個復(fù)雜的條件表達式語句鹅搪,從 if then else 三個段落中分別提煉獨立函數(shù)站绪。(每一個等號都有其特定意義,通過函數(shù)名稱標注)
extract interfact 提煉接口 (341)
若干客戶使用類接口中的同一子集涩嚣,或者兩個類的接口有部門相同崇众,將相同的子集提煉到一個獨立接口中掂僵。(接口彌補了繼承航厚,通用也可以通過繼承的方式理解接口類與實現(xiàn)類)
Long parameter list 過長參數(shù)列
太長參數(shù)類導(dǎo)致難以理解。太多參數(shù)會造成前后不一致,不易使用旬昭,而且一旦你需要更多數(shù)據(jù)旧噪,舊不得不修改他。
inline class 將類內(nèi)聯(lián)化 (154)
某各類沒有做太多事情麻顶,將這個類所有特性搬移到另一個類中赦抖,然后移除原類。與提煉類相反辅肾。
作者:樂樂plus
鏈接:https://juejin.cn/post/6962796851544195109
來源:掘金
著作權(quán)歸作者所有队萤。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處矫钓。