完全不必要的 Else 塊
public void consumer(int product) { if (product > 1) { // do something } else { // do something elsea } }
只需刪除 else` 塊即可簡化此過程
public void consumer(int product) { if (product > 1) { // do something return; } // do something elsea }
價值分配
public String gender(int input) { String gender = null; if (0 == input) { // do something gender = "man"; } else if (1 == input) { gender = "woman"; } else { gender = "unkonwn"; } // do something else return gender; }
盡管很簡單,但它卻很糟糕。首先,If-Else 很容易在這里被開關取代。但是,我們可以通過完全刪除 else 來進一步簡化此代碼。
public String gender(int input) { if (0 == input) { return "man"; } if (1 == input) { return "woman"; } return "unkonwn"; }
前提條件檢查
public String gender(int input) { if (0 > input) { throw new IllegalArgumentException(); } if (1 < input) { throw new IllegalArgumentException(); } return input == 0 ? "man" : "woman"; }
將 If-Else 轉換為字典,完全避免 If-Else
public static String gender(Integer input) { Map<Integer, Function<Integer, String>> map = new HashMap<>(); map.put(0, (integer) -> { return "man"; }); map.put(1, (integer) -> { return "woman"; }); return map.get(input).apply(input); }
