【发布时间】:2010-07-06 14:00:25
【问题描述】:
我将自己编写一些 C# 代码,但我想确保我遵循最广泛接受的命名约定,以防我想聘请其他开发人员、发布我的代码或出售我的代码。现在我正在遵循微软设定的命名约定,因为它们似乎是最广泛接受的。他们没有提到的一件事是为私有字段命名。在大多数情况下,我看到它们以camelCase 命名,例如受保护的字段,但是这给我带来了一个问题,因为参数名称应该在camelCase 中。以下面的构造函数为例:
public GameItem(string baseName, string prefixName, string suffixName)
{
//initialize code
}
现在,如果我对私有字段也使用 camelCase,则会出现命名冲突,除非我使用“this”来访问类字段(我认为这违反了大多数标准,更不用说意味着更多的输入)。一种解决方案是给参数一个不同的名称,但是给相同的数据 2 个不同的名称在逻辑上没有意义。我知道的唯一其他在 C++ 编码中很常见的解决方案是在开头给私有成员一个下划线(_camelCase)。 C# 编码是否普遍接受该解决方案?这个问题是否有另一种解决方案(比如只使用属性(使用 PascalCase)来访问字段,即使在类本身中也是如此)?
【问题讨论】:
-
选择一个并保持一致!这才是最重要的......
-
我将“this”用于私有字段。
-
我使用
this或带有protected set的公共属性,并且它们的首字母大写。如果可以,请查看 M$ FxCop。 -
开始更多地考虑它,并且始终通过属性访问它们可能更有意义。我认为这有两个原因:1.所有关于如何访问字段的代码的一致性和 2.如果需要添加验证检查,我将不得不切换我的所有代码以使用属性,所以最好事先这样做。你怎么看待一直使用属性?
标签: c# naming-conventions