修復(fù)大多數(shù)壞味道的重構(gòu)技術(shù)。哪些重構(gòu)技術(shù)可以修復(fù)大多數(shù)壞味道?■有關(guān)解決方案請見附錄A。...[繼續(xù)閱讀]
海量資源,盡在掌握
修復(fù)大多數(shù)壞味道的重構(gòu)技術(shù)。哪些重構(gòu)技術(shù)可以修復(fù)大多數(shù)壞味道?■有關(guān)解決方案請見附錄A。...[繼續(xù)閱讀]
尚未提及的重構(gòu)技術(shù)。任何壞味道都未提及的重構(gòu)技術(shù)有哪些?為什么沒有涉及這些重構(gòu)技術(shù)?■有關(guān)解決方案請見附錄A。...[繼續(xù)閱讀]
其他壞味道。由這個列表,你是否能夠想到其他可能需要關(guān)注的壞味道?■有關(guān)解決方案請見附錄A。...[繼續(xù)閱讀]
●名字(包括匈牙利記法)中嵌有類型(TypeEmbeddedInName)●表達(dá)能力差的名字(UncommunicativeName)●不一致的名字(InconsistentNames)...[繼續(xù)閱讀]
癥狀●名字采用復(fù)合詞,即由一個詞再加上參數(shù)的類型組成。例如,方法addcourse(CourseC)即屬此類。●名字采用匈牙利記法,在此將對象的類型編碼到名字中;例如,iCount作為一個整型的成員變量。●變量名所反映的是其類型,而不是其用途...[繼續(xù)閱讀]
癥狀名字未能充分表達(dá)其意圖。●單字符或雙字符名●無元音的名字●帶有編號的變量(例如,pane1、pane2等)●奇怪的縮寫●容易產(chǎn)生誤導(dǎo)的名字(不反映其實際用途或含義)原因最初實現(xiàn)時,必須以某種方式進(jìn)行命名。你會給出當(dāng)時認(rèn)為...[繼續(xù)閱讀]
●死代碼(DeadCode)●過分一般性(SpeculativeGenerality)...[繼續(xù)閱讀]
癥狀●變量、參數(shù)、字段、代碼段、方法或類未在任何地方使用(可能除了測試以外)。原因●需求有所改變,或者采用了新的方法,而沒有進(jìn)行充分的清理。●過于復(fù)雜的邏輯會導(dǎo)致一些根本不會發(fā)生的條件組合;在簡化條件時即可了解...[繼續(xù)閱讀]
癥狀●存在未用的類、方法、字段、參數(shù)等等。它們可能沒有客戶,或者僅有測試作為客戶。●對于當(dāng)前實現(xiàn)的需求,代碼過于復(fù)雜。原因建立代碼時,可能希望它將來能夠更加有用,但是卻事與愿違。人們試圖充分挖掘代碼的需求時...[繼續(xù)閱讀]
表I.3提供了一組重構(gòu)技術(shù)。在每種重構(gòu)技術(shù)的右邊,請寫出能夠抵消其作用的相應(yīng)重構(gòu)技術(shù)(即在表中同時列出重構(gòu)技術(shù)及其相應(yīng)的逆處理)。■有關(guān)解決方案請見附錄C。表1.3重構(gòu)技術(shù)及其逆處理重構(gòu)技術(shù)逆處理AddParameter(增加參數(shù)) ...[繼續(xù)閱讀]