【问题标题】:C# Variable NamingC# 变量命名
【发布时间】:2011-10-10 02:21:47
【问题描述】:

我想知道在 C# 中命名变量的最佳方式是什么?我知道有几种不同的方法,但我只是想知道为什么有些人更喜欢其中一种?

我倾向于用小写字母表示类型(我认为这是匈牙利的方法?)但是很多人不喜欢这个,这是最好的方法吗?

例子:

string sMyString
string MyString
string myString
string mystring

谢谢

【问题讨论】:

标签: c# variables naming


【解决方案1】:

在命名字段和局部变量时,我在 c# 中看到的最常见约定是camel case

string myString

Here 是 Microsoft 在 c# 中大写的指南。他们声明(其中包括):

以下指南提供了标识符的一般规则。

对所有由多个单词组成的公共成员、类型和命名空间名称使用 Pascal 大小写。

请注意,此规则不适用于实例字段。出于成员设计指南中详述的原因,您不应使用公共实例字段。

请在参数名称中使用驼峰式大小写。


我要补充的是,这需要与您的团队成员达成一致。

【讨论】:

  • 奇怪的是列表不包括局部变量。它们不同于参数和属性。我会假设他们打算使用变量名称来匹配参数名称并使用驼峰式大小写。
【解决方案2】:

长期出现的趋势是沿线

string meaningfulNameOfVariable;

驼峰式命名,清晰的名称对您、您的上下文和其他开发人员都具有实际意义。

【讨论】:

  • +1 用于强调有意义的变量名的重要性。
  • + 不使用 myClassVariable 之类的前缀
【解决方案3】:

我会选择string myString,这是正常的 C# 方式。如果您查看 .NET/C# 的 MSDN 文档中的示例,您很快就会感觉到最佳实践。

局部变量是驼峰式的。匈牙利符号在类型安全语言中被认为是不好的做法。类型系统负责为您了解类型。

【讨论】:

  • 匈牙利符号通常只被不懂匈牙利符号的人认为是不好的做法。它不是表示变量的系统类型。
  • @fearofawhackplanet:你说得对,如果按照最初的意思使用它就很好。然而,匈牙利符号已经成为表示类型的意思。如果以正确的方式使用,我同意它是好的,请参阅例如 joelonsoftware.com/articles/Wrong.html 以获取有关该主题的好文章。
【解决方案4】:

我会参考MSDN guidelines。我的做法是,至少在我工作过的地方,string myDescriptiveStringName 用于局部变量,private string _myDescriptiveStringName 用于类变量。对于属性,它将是public string MyDescriptiveStringName { get; set; }

但是,大多数组织都遵循(或至少应该遵循)某些约定。最好不要偏离这些指导方针,除非您想在同行评审期间处于热门位置。 ;-) 当然,也有一些例外。

【讨论】:

  • 我见过在项目中使用下划线,但是如果坚持命名约定“不要使用下划线、连字符或任何其他非字母数字字符”,则不应该这样做。 General Naming Conventions
【解决方案5】:
【解决方案6】:

实际上,这是协议的问题)当部门中的每个人都按照自己的愿景写作时,命名就成了问题)

在您的部门内使用具有相同命名约定属性的 ReSharper 或类似工具)

【讨论】:

    【解决方案7】:

    这取决于不同的东西...如果您是自己编码,您可以使用您喜欢的...通常我认为大多数 C# 开发人员更喜欢驼峰式...

    如果您为公司等工作,则​​必须遵守他们的编码标准...

    我认为最重要的是变量名应该是可读的,这是更好的变量命名的最终目标......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-22
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      相关资源
      最近更新 更多