我想知道在C#中命名变量的最佳方式是什么?我知道有几种不同的方式,但我只是想知道为什么有些人比另一种更喜欢一种?C#变量命名
我倾向于使用表示类型(我认为这是匈牙利方法?),但很多人小写字母不喜欢这样,这是最好的办法吗?
例子:
string sMyString
string MyString
string myString
string mystring
感谢
我想知道在C#中命名变量的最佳方式是什么?我知道有几种不同的方式,但我只是想知道为什么有些人比另一种更喜欢一种?C#变量命名
我倾向于使用表示类型(我认为这是匈牙利方法?),但很多人小写字母不喜欢这样,这是最好的办法吗?
例子:
string sMyString
string MyString
string myString
string mystring
感谢
命名字段和局部变量的时候我已经用C#中最常见的约定是camel case:
string myString
Here是在C#中的大小写微软准则。他们声明(除其他外):
以下准则提供了标识符的一般规则。
不要使用Pascal大小写对所有公共成员,类型和命名空间的名称由多个单词。
注意,这条规则并不适用于实例字段。由于成员设计指南中详述的原因,您不应该使用公共实例字段。
不要使用骆驼外壳的参数名称。
我想补充一点,这是一件需要与你的团队成员的同意。
奇怪的是,列表不包括局部变量。它们与参数和属性不同。我会假设他们打算用变量名来匹配参数名并使用camel case。 –
我会去string myString
,这是正常的C#的方式。如果你看一下.NET/C#的MSDN文档中的示例,你很快就会体会到最佳实践。
局部变量是驼峰式的。匈牙利语言被认为是一种安全语言的不良习惯。类型系统负责了解您的类型。
匈牙利符号是一般只会被那些不懂匈牙利语的人认为是不好的做法。它不是用来表示变量的系统类型。 – fearofawhackplanet
@fearofawhackplanet:你说得对,如果它被使用,因为它最初的意思是好的。然而,匈牙利符号已经意味着表示这种类型。如果使用正确的方式,我同意它是好的,例如,请参阅http://www.joelonsoftware.com/articles/Wrong.html以获得关于此主题的好文章。 –
长,新兴的趋势是沿着
string meaningfulNameOfVariable;
骆驼情况实际上是对你有意义的线条,和明确的名字,你的背景,以及其他开发商。
+1,用于突出显示有意义的变量名称的重要性。 –
在实践中,这是协议的事项)命名您的部门内成为当大家都在部门通过自己的眼光写的问题)
使用ReSharper的或相同的命名,约定性质类似的工具)
我会参考MSDN guidelines。我的做法是,至少在我工作的地方,局部变量为string myDescriptiveStringName
,类变量为private string _myDescriptiveStringName
。对于物业,这将是public string MyDescriptiveStringName { get; set; }
但是,大多数组织遵循(或至少他们应该)某些约定。除非您希望在同行评审期间处于热门位置,否则最好不要偏离这些准则。 ;-)当然,有一些例外。
我在项目中看到了下划线,但是如果坚持命名约定,不应该使用下划线,连字符或任何其他非字母数字字符。 [一般命名约定](http://msdn.microsoft.com/en-us/library/vstudio/ms229045(v = vs.100).aspx) – Coops
这取决于不同的事情......如果你对自己的编码,你可以使用你喜欢什么?通常情况下,我认为大多数C#开发者更喜欢骆驼...
如果您正在为公司等等,你必须坚持自己的编码标准...
我觉得最重要的是,变量名应该是非常可读,那就是更好的变量命名的终极目标......
微不足道的问题,绝对讨论... http://stackoverflow.com/questions/203618/how-to-name-variables –