簡化條件表示式

2021-08-03 09:47:20 字數 1585 閱讀 1720

1. 分解條件表示式

if (isup(case) || isleft(case)) 

num = a * b;

else num = a * c;

更改為↓

if (istrue(case))

numberb(a);

else numberc(a);

boolean istrue(case)

int numberb(a)

int numberc(a)

2. 合併條件表示式

double disabukutyamount() 

更改為↓

double disablilityamount()

boolean isnoteligiblefordisability()

3. 合併重複的條件片段

有時候你可能會在if else 語句中寫重複的語句,這時候你需要將重複的語句抽出來。

if (isspecialdeal())  else 

更改為↓

if (isspecialdeal())

total = price * 0.95;

else

total = price * 0.98;

send();

4.移除控制標記

5. 以衛語句取代巢狀表示式

加入return語句去掉else語句。

if (a > 0) result = a + b;

else

}return result;

更改為↓

if (a > 0) return a + b;

if (b > 0) return a + c;

return a + d;

6. 以多型取代switch語句

將條件表示式的每個分支放入乙個子類的覆寫函式中,將原始函式宣告為抽象函式

int getarea() 

更改為↓

class shap ;

}class circle extends shap

}class rect extends shap

}

7.引入null物件

需要檢查物件是否為空,將null值替換為null物件

if(customer == null)else

做法:為源類建立乙個子類,使其行為就像是源類的null版本,在源類和null子類中都加上isnull()函式,牽著的isnull返回false,後者的返回true

建立乙個nullable介面,把isnull函式放入,源類實現。

8.引入斷言

某一段**需要對程式狀態做出某種假設,以斷言明確表現這種假設。

double getexpenselimit()

double getexpenselimit()

簡化條件表示式(二)

6,replace conditional with polymorphism 以多型取代條件表示式 現象 你手上有個條件表示式,它根據物件型別的不同而選擇不同的行為。要點 將這個條件表示式的每個分支放進乙個子類內的賦寫函式中,然後將原始函式宣告為抽象函式。7,introduce null obje...

條件表示式簡化寫法(重要)

補充 and符號作為普通運算子的意思是與,當條件同時為true時,返回才true,用在if語句中的時候,當兩個條件同時滿足時,才執行if語句中的 塊。a 5 b 0 if a and b print a else print b 先進行判斷,當a和b必須同時為true時,才輸出a,否則輸出b 放在p...

pgsql條件表示式

postgresql 8.1 中文文件 prev fast backward chapter 9.函式和操作符 fast forward next 本節描述在 postgresql 裡可以用的sql相容的條件表示式。sqlcase 表示式是一種通用的條件表示式,類似於其它語言中的 if else 語...