用“Does”(在C#中)启动方法名是否是一种好习惯?这对我来说有点奇怪,所以我想听听你的意见。以“Does”开头的方法名称看起来不错吗?
我正在写一个方法来检查账户是否存在,签名应该是 “bool DoesAccountExist(id)”?有更好的名字吗?
谢谢!
用“Does”(在C#中)启动方法名是否是一种好习惯?这对我来说有点奇怪,所以我想听听你的意见。以“Does”开头的方法名称看起来不错吗?
我正在写一个方法来检查账户是否存在,签名应该是 “bool DoesAccountExist(id)”?有更好的名字吗?
谢谢!
个人而言,我会在这种情况下AccountExists(ID)去的,因为它会如果块
if (AccountExists(id)) { }
您击败了我的AccountExists()名称。对你有好处。 – David 2011-05-04 17:35:16
我通常会离开关不和简单地使用AccountExists(ID)看起来更自然在。
对我来说,它看起来在代码中更自然后如:
if(AccountExists(id))
{
ValidateLogin();
}
另一种方法是这样的:
if(!DoesAccountExist(id)) {}
似乎很奇怪我。我会阅读,如果帐户不存在?这使得少于帐户不存在。
+1显示'if'看起来有多坏'if'('''构造 – 2011-05-04 17:48:25
我们总是用Is
为将返回一个布尔值,所以在这种情况下,我们会调用该方法
IsExistingAccount(id)
+1使用'Is'约定 – 2011-05-04 17:48:52
令人惊讶,但这帮助了我的矩形程序员头很大:)重点是'现有'的形式,你可以把所有的东西放在那里 - 比如'IsRefreshing ...' - 我也喜欢为所有人提供一个单一前缀的想法 - 否则你需要“应该”有''做'等等,这取决于你在处理什么w/- 所有最有用的答案 – NSGaga 2016-04-17 17:10:28
我觉得AccountExists
是你最好的选择,但另外一个选择是任何方法:IsExistingAccount
。对于返回布尔值的方法或属性,在方法以单词“is”开头的情况下使用命名约定会很有用。如果使用“是”,则必须重新调整方法名称的其余部分,以便读者理解它。
Can or Is可以像CanCopy
或IsAccountExists
一样使用。遵循预定义的约定使代码更具可读性。坦率地说,前缀对我来说看起来有点奇怪。
“Is”前缀习语有助于阐明像“空”这样的可能意味着“清空数组”或“数组为空”的方法。如果一致地使用“IsEmpty”显然是bool返回,并且按照惯例,“Empty”变得清晰为清空动作。
在我@Andy白人认同问题的情况下第二提示:
if (IsExitingAccount) ...
这里的“是”触发布尔回报constistant强烈暗示自动与其别的用途,其中(的IsEmpty,ISNULL等)
另一种选择是使用Is,Any的标准C#复数。
AnyAccountsExist(id)
它看起来像你没有考虑如何使用你的布尔返回函数。去AccountExists,我相应地upvoted。 – Jodrell 2011-05-04 17:37:24
'bool answer = DoesAMethodNameLookGoodStartingWith(“Does”);' – BoltClock 2011-05-04 18:17:32