除Pascal和All Caps之外的常量的C#命名约定

时间:2010-05-07 08:57:48

标签: c# naming-conventions

在我的项目中,目前我们使用全部大写作为常量的命名约定。我想改变它,我可以使用Pascal Casing但我的团队负责人有一个强有力的论据,即它不会明显区分常量和属性和其他类型。

请帮助我提出任何其他建议。

RESULT 正如@Paolo Tedesco和大多数人都认为的那样,我会坚持ALL_CAPS。无论如何我现在也没有其他选择,因为@ 24x7Programmer提供的论点无法改变我的团队主管的想法。现在进一步我不能在这个小问题上争论。

谢谢大家的建议。

7 个答案:

答案 0 :(得分:4)

MSDN非常清楚地列出了C#的命名准则。如果有新人加入你的团队,你真的想浪费时间向他们解释你的约定吗?如果他们在不知道您的惯例的情况下直接深入代码,您是否真的希望他们浪费时间在混乱中试图弄清楚什么是什么,并将大部分时间用于您的惯例?人们需要接受每种语言都有自己的约定,并认识到 最佳 的做法是坚持它们。它会为你,你的团队成员和新成员节省很多时间和头痛。

很抱歉听起来如此戏剧性,但我发现很难命名类和成员。我花在考虑上套管,骆驼套管和帕斯卡套管上的时间越少越好。

答案 1 :(得分:3)

在我们的项目中,我们通常为常量定义一个单独的类,并仅为它们使用Pascal命名。 所以我们引用这样的常量:

Functionality1Constants.ThisIsAConstant

答案 2 :(得分:2)

.NET有官方Naming Guidelines,大多数.NET开发人员都遵守。对我来说,你需要一个比“不会明显区分属性和其他类型的常量”更好的理由而偏离这些指导原则。

如果您遵循它们,您的代码将看起来像.NET代码,而不是像使用C#编译器编译的C ++代码。

答案 3 :(得分:1)

我个人认为ALL_CAPS_CONSTANTS_LOOK_UGLY,但你的团队负责人有一个很好的观点,即他们很容易与其他一切区别开来。
你有什么改变惯例的观点?如果它只是一个aestethical偏好,那么我认为你应该适应惯例 - 作为一个专业的开发人员,你必须能够读取和编写代码,如果它不符合你的喜好...

答案 4 :(得分:0)

这是一个主观问题。没有一个铁壳证明全帽是一个坏主意,所以只需顺其自然。这类问题不值得开战。

答案 5 :(得分:0)

为什么你必须能够轻松区分常数?在C ++和C中,你想要能够轻松地区分宏是有意义的,但我想不出有任何需要它的好理由。我以前习惯使用所有大写字母,但现在大多数都改为Pascal大小写,因为它更适合代码的其余部分。

编辑:虽然我同意其他答案,但这是非常主观的,所以如果你已经有了标准,我不能说它值得改变它。

答案 6 :(得分:0)

首先确定对常数名称有什么重要性,然后让它引领惯例。考虑:

  • 这是一个常数
  • 可读性
  • 名称的含义
  • 这是数据类型

我觉得可读性和意义是最重要的。数据类型有时可能很重要,但无论如何它应该从名称中显而易见。因此,我会跳过尝试使常量脱颖而出,因为它们是常量,并使用与命名变量或属性相同的约定。