3.代碼整潔之道之函數的規範性
1.函數要短小
函數我們也稱之爲方法,如果一個方法體的內容相當龐大的話,當別人看你的代碼時候,要花費非常長的時間才能理解你所要表達的意思。
2.函數要儘量只做一件事情
一個函數,要儘量只專注於一件事。例如,德瑪對戰提莫,當德瑪對提莫發起攻擊時,將整個攻擊過程轉化爲一個函數,攻擊中的細節由另一個函數調用。如下:
/**
* 德瑪對提莫發起了攻擊
*/
public void attack(){
attackDetail();
}
/**
* 發起攻擊的細節
*/
public void attackDetail(){
//釋放R技能...
}
3.避免用標識符進行傳參
要避免用標識符進行參數的傳遞,如傳遞一個參數true 或者 false,這就說明了該函數肯定要做多件事。(避免的方法還未找到對應的代碼,有待研究,常常使用到)。
4.函數的形參個數
函數的形參個數爲一個最佳,因爲我們常常需要判斷傳過來的參數是否是合法的,當有兩個或三個以上的參數時,我們往往應當先考慮是否可以轉化成對象進行傳參。
5.try/catch中儘量將try中的代碼塊進行抽離
書中講到,try/catch代碼塊往往會弄亂代碼原本的結構,將try中的代碼塊進行抽離的話,我們只需要看抽離出來的方法所表達的是什麼,就可以將原本的try/catch忽略,完美的分離了兩個部分。如下例:
protected ResultSetType resolveResultSetType(String alias) {
if (alias == null) {
return null;
} else {
try {
return ResultSetType.valueOf(alias);
} catch (IllegalArgumentException var3) {
throw new BuilderException("Error resolving ResultSetType. Cause: " + var3, var3);
}
}
}