如果你抱怨方法參數過長,那麼你需要這篇文章

攜帶Boolean參數

如果你的方法參數中包含boolean參數那麼你就需要去除該boolean參數。為什麼這麼說,一般攜帶boolean參數就說明當boolean為true的時候該怎麼做,當為false的又該怎麼做。看,你的方法已經違背單一職責了,那麼時候將你這個方法分為兩個方法,讓他們做自己的事。如圖1-1

如果你抱怨方法參數過長,那麼你需要這篇文章

圖1-1

圖1-1 想滿足更新和保存操作,當更新變化的時候需要修改方法addAndUpdate,當保存發生變化的時候也要修改addAndUpdate方法。所以將其分為add和update方法。如圖1-2

如果你抱怨方法參數過長,那麼你需要這篇文章

圖1-2

讓這個方法回到屬於他的類中

方法是類的行為表現,比如人遛狗,類比到代碼中人就是類,遛狗就是方法、動作。如果哪天遛狗被放到電風扇、手機等等類裡的話你肯定會覺得很荒唐,這不符合我們常識。而平時我們寫代碼的時候就經常發生這樣的事情,將不屬於該類的方法放到該類裡面,只不過沒有上面舉的例子那麼具體、形象。如圖2-1

如果你抱怨方法參數過長,那麼你需要這篇文章

圖2-1

calculateWeeklyPay方法通過HourlyEmployee訪問器修改修改自身屬性,其實calculateWeeklyPay方法期望的是回到HourlyEmployee類中,這樣它就可以直接訪問HourlyEmployee的屬性和方法了

將同一維度的參數放到一個包裝對象中

如果方法參數中有幾個參數是屬於同一維度的那麼你就應該把他們聚集在一個類中。如圖3-1

如果你抱怨方法參數過長,那麼你需要這篇文章

圖3-1

圖3-1中圓類有構造方法含有三個參數-------x軸,y軸,半徑。大家都知道x軸,y軸共同組成座標系中的一個點,那麼就可以把x,y參數放到座標系類(Coordinate)中。如圖3-2

如果你抱怨方法參數過長,那麼你需要這篇文章

圖3-2

這樣做什麼參數是一類的,是一個維度的,立馬就知道,清晰明瞭。


分享到:


相關文章: