if (condition) {
// do something
} else if (otherCondition) {
// do something else
} else {
// Default
}
通常If-Else邏輯如上所示,但實際卻是可以優化的。
1. Remove unnecessary else
public void test(int input) {
if (input > 10) {
// do something
} else {
// do something else
}
}
邏輯結構為if-else,通過return 即可實作優化。
public void test(int input) {
if (input > 10) {
// do something
return ;
}
// do something else
}
實際上根本不需要其他塊,在滿足特定條件的情況下執行某些操作并立即傳回。
2. 價值配置設定
public String test(int input) {
String gender = "";
if (input == 0) {
gender = "male";
} else if (input == 1) {
gender = "female";
} else {
gender = "unknown";
}
return gender;
}
如果已經找到正确的值,則繼續測試一個值就是毫無意義的。是以,代碼優化如下:
public String test(int input) {
if (input == 0) return "male";
if (input == 1) return "female";
return "unknown";
}
3. 前提條件查詢
通常,如果出現無效值,則方法執行就是毫無意義的。
例如,test方法的有效輸入值必須為0或1。
// input must be 0 or 1
public String test(int input) {
// execute logic
}
是以,在允許方法執行之前需要執行一些先決條件。
首先檢查輸入值,然後執行方法體。
// input must be 0 or 1
public String test(int input) {
if (input < 0) throw new ArithmeticException();
if (input > 1) throw new ArithmeticException();
return input == 0 ? "male" : "female";
}