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