【发布时间】:2011-10-10 02:21:47
【问题描述】:
我想知道在 C# 中命名变量的最佳方式是什么?我知道有几种不同的方法,但我只是想知道为什么有些人更喜欢其中一种?
我倾向于用小写字母表示类型(我认为这是匈牙利的方法?)但是很多人不喜欢这个,这是最好的方法吗?
例子:
string sMyString
string MyString
string myString
string mystring
谢谢
【问题讨论】:
我想知道在 C# 中命名变量的最佳方式是什么?我知道有几种不同的方法,但我只是想知道为什么有些人更喜欢其中一种?
我倾向于用小写字母表示类型(我认为这是匈牙利的方法?)但是很多人不喜欢这个,这是最好的方法吗?
例子:
string sMyString
string MyString
string myString
string mystring
谢谢
【问题讨论】:
在命名字段和局部变量时,我在 c# 中看到的最常见约定是camel case:
string myString
Here 是 Microsoft 在 c# 中大写的指南。他们声明(其中包括):
以下指南提供了标识符的一般规则。
对所有由多个单词组成的公共成员、类型和命名空间名称使用 Pascal 大小写。
请注意,此规则不适用于实例字段。出于成员设计指南中详述的原因,您不应使用公共实例字段。
请在参数名称中使用驼峰式大小写。
我要补充的是,这需要与您的团队成员达成一致。
【讨论】:
长期出现的趋势是沿线
string meaningfulNameOfVariable;
驼峰式命名,清晰的名称对您、您的上下文和其他开发人员都具有实际意义。
【讨论】:
我会选择string myString,这是正常的 C# 方式。如果您查看 .NET/C# 的 MSDN 文档中的示例,您很快就会感觉到最佳实践。
局部变量是驼峰式的。匈牙利符号在类型安全语言中被认为是不好的做法。类型系统负责为您了解类型。
【讨论】:
我会参考MSDN guidelines。我的做法是,至少在我工作过的地方,string myDescriptiveStringName 用于局部变量,private string _myDescriptiveStringName 用于类变量。对于属性,它将是public string MyDescriptiveStringName { get; set; }
但是,大多数组织都遵循(或至少应该遵循)某些约定。最好不要偏离这些指导方针,除非您想在同行评审期间处于热门位置。 ;-) 当然,也有一些例外。
【讨论】:
实际上,这是协议的问题)当部门中的每个人都按照自己的愿景写作时,命名就成了问题)
在您的部门内使用具有相同命名约定属性的 ReSharper 或类似工具)
【讨论】:
这取决于不同的东西...如果您是自己编码,您可以使用您喜欢的...通常我认为大多数 C# 开发人员更喜欢驼峰式...
如果您为公司等工作,则必须遵守他们的编码标准...
我认为最重要的是变量名应该是可读的,这是更好的变量命名的最终目标......
【讨论】: