ALT 1:返回布爾值
PRO:這是很好的跳過代碼進一步部分是沒有必要的運行。
CON:這增加了多個返回點,只能用於只有幾行的方法。
public boolean match() {
if(!userField.getText().equals(testUser)
&& !passField.getText().equals(testPass)){
return false;
}
//do additional stuff here if user matches
return true;
}
ALT 2:返回一個變量
PRO:這是在較長的方法,其中返回變量是可以改變的幾個地方好。
CON:你通常在做的事情是當你有不止一件事情的方法,而你的代碼缺乏關注點分離時。
public boolean match() {
boolean result;
if(...){
if(userField.getText().equals(testUser)&&passField.getText().equals(testPass))
result = true;
else if (...)
result = false;
else if (...)
result = true;
}
//do something
if (...)
result = true;
else
result = false;
}
return result;
}
ALT 3:返回一個函數的輸出或一組功能
PRO:這是很好的節省代碼行
CON:爲了提高可讀性,你應該將方法重命名爲告訴這個方法實際上在做什麼。
public boolean authenticate(user) {
return userField.getText().equals(testUser)&&passField.getText().equals(testPass));
}
謝謝大家的快速和有益回覆! – Jake