【问题标题】:C# and VB Class Private Variable Naming Practices and the "_" Character [closed]C# 和 VB 类私有变量命名实践和“_”字符 [关闭]
【发布时间】:2016-09-17 23:59:48
【问题描述】:

让我们明确一点:我不是在寻找意见,而是在寻找答案,如果可能的话,提供实际记录的来源或参考资料。 (最好来自 MSDN?)

在 .NET 中创建类时,我遵循的基本结构如下:

  • 创建私有变量字段。
  • 使用 get/set 定义类属性。
  • 创建构造函数。
  • 为数据库功能添加额外的类方法。
  • 其他功能。

我过去是如何命名我的私有变量的:

private string _myString;

我目前如何命名我的私有变量:

private string iMyString;

有人告诉我,在私有变量声明中使用“_”字符会产生负面影响。然后我改变了我的做法以使用“i”字符。我发现对这些声明使用相同的字符有助于加快创建类属性的速度,并缩短整体开发时间。

我的问题是: 类私有变量命名结构的行业标准是什么?而且,为什么使用“_”字符被认为是一种不好的做法?

我在 Google 上进行了大量搜索,甚至在 MSDN 网站上,我查看的页面的示例也经常变化,因此不一致。

我不确定这是否被认为是一个问题,但我倾向于练习高质量的代码。

【问题讨论】:

  • "The nice thing about standards is that you have so many to choose from." - 没有行业标准。只有意见......我会问使用下划线有什么“负面影响”?我一直在使用它们。
  • 据我所知,使用下划线并没有什么坏处。比您决定做什么更重要的是确保您的标准集以一致的方式使用。
  • 如果您使用自动实现的属性,则不再需要属性的支持字段和 getter/setter。编译器为您提供了一个隐式的_propName 变量(所以一个领先的_ 它不能 糟糕)。比VB和C​​#之后的分歧。 VB 允许您在任何地方访问隐式字段,而它在 C# 中是隐藏的。顺便说一句per se
  • MSDN 对命名约定有很多建议。您所处的环境以及是否继续现有代码也会发挥作用。这是一个通用指南链接,但 MSDN 确实有大量关于此主题的资源。 10rem.net/articles/…
  • 如果你没有使用Allman indenting,那你就错了! (j/k)有一些常见的做法,但有大量的标准可以使用。这个可能的答案绝对是基于意见的。

标签: c# .net vb.net class private


【解决方案1】:

来自.NET foundation coding style guidelines

我们将_camelCase 用于内部和私有字段,并在可能的情况下使用readonly。实例字段前缀为_,静态字段前缀为s_,线程静态字段前缀为t_

【讨论】:

    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    相关资源
    最近更新 更多