例如,請考慮以下兩個setter方法:讓一個setter返回一個bool是否是一個好習慣?
bool setMonth(int month) {
bool valid = false;
if (month > 0 && month < 12) {
this->month = month;
valid = true;
}
return valid;
}
與
void setMonth(int month) {
if (month > 0 && month < 12) {
this->month = month;
}
}
第一個讓類的客戶端明確知道集是否失敗。這被認爲是良好的做法?
是根本不是一個好習慣嗎? – 2017-06-17 16:54:11
請僅使用語言標記來表示您實際編程的語言。 –
這是一個二傳手的非慣用用法,所以沒有人會期待/期待。拋出IllegalArgumentException異常會更好。 –