神奇的重構(gòu)技術(shù)(《重構(gòu)》讀書(shū)筆記 一)
Posted on 2005-09-17 21:24 JavaExplore 閱讀(1470) 評(píng)論(7) 編輯 收藏代碼中經(jīng)常會(huì)出現(xiàn)枚舉性的變量,比如血型、性別之類(lèi)。
以血型為例:





















如果要給一個(gè)person的實(shí)例設(shè)置血型,代碼如此:person.setBlood(Blood.A);
這個(gè)寫(xiě)法的代碼中,setBlood的參數(shù)為整型,如果如此調(diào)用person.setBlood(9);
編譯器無(wú)法發(fā)現(xiàn)錯(cuò)誤,只能靠人為控制,如果在方法setBlood中檢測(cè)參數(shù)的有效性,又超越了該方法的職責(zé)。
重構(gòu)后的代碼如下:






























如此,(1)隱藏了血型的編碼細(xì)節(jié)
????????????(2)方便編譯期間發(fā)現(xiàn)錯(cuò)誤
??????????? (3)避免使用超越數(shù)據(jù)范圍的參數(shù)