【发布时间】:2015-09-03 18:26:24
【问题描述】:
以下哪种编码风格更好,为什么? 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 在语义上有意义吗?如果没有矛盾,就没有理由传递另一个变量。此外,这个书面问题也引发了固执己见的答案,这是不可以的。
-
一种可能性:将
error重命名为errorIfMissing以明确该参数具有指示该参数是否必需的双重目的。
标签: c# coding-style