private const int THE_ANSWER = 42;

or

private const int theAnswer = 42;

我个人认为,在现代ide中,我们应该使用camelCase,因为ALL_CAPS看起来很奇怪。你怎么看?


当前回答

对于const值,我仍然使用大写,但这更多是出于习惯,而不是任何特定的原因。

当然,这使我们很容易立即看出某个对象是const。我的问题是:我们真的需要这些信息吗?它能帮助我们避免错误吗?如果我给const赋值,编译器会告诉我我做了一些愚蠢的事情。

我的结论是:选择驼色的。也许我也会改变我的风格;-)

编辑:

在我看来,有匈牙利味道的东西并不是一个有效的论点。问题应该始终是:它是有益的,还是有害的?

在某些情况下,匈牙利语会有所帮助。现在已经不多了,但仍然存在。

其他回答

我实际上倾向于在这里使用PascalCase -但出于习惯,我对UPPER_CASE感到内疚…

事实上,它是

private const int TheAnswer = 42;

至少如果你看一下。net库,在我看来,这是决定命名约定的最佳方式——这样你的代码看起来不会不合时宜。

对于const值,我仍然使用大写,但这更多是出于习惯,而不是任何特定的原因。

当然,这使我们很容易立即看出某个对象是const。我的问题是:我们真的需要这些信息吗?它能帮助我们避免错误吗?如果我给const赋值,编译器会告诉我我做了一些愚蠢的事情。

我的结论是:选择驼色的。也许我也会改变我的风格;-)

编辑:

在我看来,有匈牙利味道的东西并不是一个有效的论点。问题应该始终是:它是有益的,还是有害的?

在某些情况下,匈牙利语会有所帮助。现在已经不多了,但仍然存在。

推荐的命名和大写约定是对常量使用pascalcase (Microsoft有一个名为StyleCop的工具,它可以记录所有首选的约定,并可以检查您的源代码是否符合—尽管对于许多人的口味来说,它有点太过于保留了)。如。

private const int TheAnswer = 42;

Pascal大写约定也记录在微软的框架设计指南中。

首先,匈牙利符号是使用前缀来显示参数的数据类型或预期用途的实践。 微软的命名惯例对匈牙利符号说不 http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx

不鼓励使用大写: Pascal Case是可接受的惯例和尖叫帽。 http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming

微软还在这里声明,如果要匹配现有的方案,则可以使用UPPERCASE。 http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx

这差不多就是总结了。