2
以下哪項是更好的編碼風格,爲什麼? 1)隱含地使用空參數作爲標誌良好的代碼風格
public string GetValue(string setting, string error)
{
var val = GetSettingFromSomewhere(setting);
if (val==null && string.IsNullOrEmpty(error)) throw Exception(error);
return val;
}
或者 2)
public string GetValue(string setting, bool isRequired, string error)
{
var val = GetSettingFromSomewhere(setting);
if (val==null && isRequired) throw Exception(error);
return val;
}
請勿超出需要創建實體。它在語義上是否有意義通過* null *?如果沒有矛盾,沒有理由再通過另一個變量。這個書面的問題也引發了一些褒貶不一的答案。 – mlt
一種可能性:將'error'重命名爲'errorIfMissing',以闡明該參數用於指示參數是否是必需的。 –