为什么.Net中的常量都不是大写的?

时间:2010-09-23 22:36:45

标签: .net naming-conventions constants

.Net的Microsoft命名约定将常量放在Pascal Case中。实际上,它明确告诉我们要避免对常量使用全部大写:

  

您可能还需要大写   标识符以保持兼容性   使用现有的非托管符号   方案,全部大写   字符经常用于   枚举和常量值。在   一般来说,这些符号不应该是   在装配体外可见   使用它们。

来自MSDN

关于这个问题,我发现了一些关于这个问题的问题,比如one,但我找不到理由。那么,任何人都知道或有一个参考,指出为什么MS选择这个约定?

5 个答案:

答案 0 :(得分:8)

它只是一种风格指南。编程语言已经开始推荐并推动格式化约定,以便代码更具可读性。

此外,被预处理器取代的符号值得特别关注 - 它们位于类型系统之外/之前,可能不是它们看起来的样子。常量只是常量,它们不会在编译或运行时更改。

答案 1 :(得分:4)

因为所有人都很难上手并且很难阅读,而且预计它将用于预先没有.NET的预分频器。

此外,比尔盖茨也是这样想的,而且钱从来都不错。

答案 2 :(得分:4)

说所有大写都是丑陋的,因此不应该被使用是边缘幼稚的逻辑。它来自于抱怨他们不习惯的人。

从Java到C,我开始在变量名和函数中使用underscores_between_words。 camelCase现在对我来说非常丑陋。但是我仍然使用camelCase for C ++ / Java而没有抱怨,因为它是对话。

如果你不能让自己变得灵活,编程将成为一个严厉的情妇。这是程序员的技能。

答案 3 :(得分:2)

Microsoft不遵循自己的规则,因为如果您在c#4 YOU_WILL_FIND_LOTS_OF_CAP_CONSTANTS中反映新的System.Threading.Tasks类。

它是一种风格的东西。我个人不介意。只是保持一致。

答案 4 :(得分:1)

就像BTW一样 - EBCDIC是BCD(二进制编码的十进制)的扩展版本,因此肯定支持小写。这是60年代的老式和早期的IBM机器(和其他)不包括小写。

(当然,像TRS-80这样的早期家用电脑也没有小写字母)