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