private const int THE_ANSWER = 42;

or

private const int theAnswer = 42;

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


当前回答

事实上,它是

private const int TheAnswer = 42;

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

其他回答

把匈牙利语留给匈牙利人吧。

在这个例子中,我甚至会省略最终文章,直接使用

private const int Answer = 42;

这就是答案,还是这就是答案?

*按照帕斯卡的严格正确进行编辑,但我认为这个问题是在寻求更多关于生命、宇宙和一切的答案。

ALL_CAPS是取自C和c++的工作方式,我相信。这篇文章解释了风格差异是如何产生的。

在Visual Studio等新的IDE中,很容易识别类型、范围以及它们是否恒定,因此这不是严格必要的。

FxCop和Microsoft StyleCop软件将帮助您提供指导方针并检查您的代码,以便每个人都以相同的方式工作。

事实上,它是

private const int TheAnswer = 42;

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

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

private const int TheAnswer = 42;

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

在其文章常量(c#编程指南)中,微软给出了以下示例:

class Calendar3
{
    const int months = 12;
    const int weeks = 52;
    const int days = 365;

    const double daysPerWeek = (double) days / (double) weeks;
    const double daysPerMonth = (double) days / (double) months;
}

因此,微软似乎一直在推荐使用camel套管。但是请注意,这些常量是局部定义的。

可以说,外部可见常数的命名更令人感兴趣。实际上,微软在. net类库中将其公共常量记录为字段。下面是一些例子:

Int32。MaxValue 字符串。空(实际上是静态只读) 数学。π 数学。E

前两个是pascal套管的例子。第三个似乎遵循了微软的两个字母首字母缩写的大写惯例(尽管pi不是丙烯酸酯)。第四个似乎表明,两个字母的丙烯名的规则延伸到一个字母的首字母缩略词或标识符,如E(代表数学常数E)。

此外,在其资本化约定文档中,微软非常直接地指出,字段标识符应该通过pascal套管命名,并为MessageQueue提供了以下示例。InfiniteTimeout和UInt32。分钟:

public class MessageQueue
{
    public static readonly TimeSpan InfiniteTimeout;
}

public struct UInt32
{
    public const Min = 0;
}

结论:对公共常量使用pascal套管(这些常量被记录为const或静态只读字段)。

最后,据我所知,微软不提倡对私有标识符进行特定的命名或大写约定,如问题中给出的示例所示。