2015-09-03 9 views
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; 
} 
+0

請勿超出需要創建實體。它在語義上是否有意義通過* null *?如果沒有矛盾,沒有理由再通過另一個變量。這個書面的問題也引發了一些褒貶不一的答案。 – mlt

+0

一種可能性:將'error'重命名爲'errorIfMissing',以闡明該參數用於指示參數是否是必需的。 –

回答

0

IsNullOrEmpty功能輕,它返回一個布爾值,所以我想對於這種情況,特別是並不重要。重要的是,您認爲使您的功能對於可能使用此功能的人員更易讀取。