枚举类型的文件名是否应该以“Enum”作为后缀?

10

当将类拆分成文件时,我想知道仅包含枚举的类文件的命名约定是什么。它们应该与其他类一样匹配枚举名称,还是应该添加“Enum”后缀,以便开发人员知道文件仅包含枚举?

例如:

namespace MyCompanyName.MyApplication
{
    public enum Colors
    {
        Red,
        Blue,
        Green,
        Yellow
    }
}

您觉得包含上述代码的文件应该命名为'Colors.cs'还是'ColorsEnum.cs'?或者,也许有其他已接受的文件命名约定吗?


1
不。你选了最糟糕的例子,没有人会明白为什么Colors.Orange无效。将其称为ColorsEnum也没有帮助。但这一切都可以通过IntelliSense解决。您可以假设它被使用。 - Hans Passant
5个回答

11

在我看来,文件名应该与枚举名称相同,根据枚举命名指南,枚举名称不应该包含枚举后缀。此外,该指南建议您的枚举应该是单数形式的,因此考虑到两者,它应该是Color.cs


7

首先,这是完全个人/团队偏好的事情。

话虽如此:

我个人会把它命名为Colors.cs。这将使文件名与类型名称对应。当我在处理 API 时,如果"颜色"是一个由枚举表示的固定集合,我可能已经知道了,并且不会产生任何混淆。


我更喜欢使用单数而不是复数。请参考微软指南:https://learn.microsoft.com/en-us/previous-versions/dotnet/netframework-1.1/4x252001(v=vs.71)?redirectedfrom=MSDN - Tom el Safadi

3

创建一个名为“Enums”的文件夹,并将文件命名为Colors.cs,怎么样?


我同意这个观点。如果一个文件只包含一个对象声明,那么我认为将文件名与对象名称相同是有用的。 - Derrick

1

创建一个名为“枚举”、“枚举类型”或其他描述性名称的文件夹即可。

您也可以遵循C#命名标准,其中指出:

“枚举名称 不要在枚举值名称上使用前缀。例如,不要使用像ADO枚举中的ad或富文本枚举中的rtf等前缀。

这也意味着您不应在枚举值名称中包含枚举类型名称。以下代码示例演示了错误地命名枚举值。

C#代码如下

public  enum Teams
{
    TeamsAlpha,
    TeamsBeta,
    TeamsDelta
}

参考资料: 类、结构体和接口的名称


我知道类型名称不应包含前缀或后缀,但这个问题特别是在参考文件名。 - Luke Baulch
你不能仅仅复制别人的内容并像这样重新分发,这就是“版权所有,保留所有权利”的意思。通过在Stack Exchange上发布,您声明拥有在CC BY-SA许可下分发帖子内容的权利。请用自己的话回答(并可能链接到外部网站以获取更多信息)。 - Gilles 'SO- stop being evil'

0
这是一个很好的例子,说明命名空间和文件夹结构如何使你的目录更易读。我们公司将枚举类型放在名为_enumeration的文件中,但仍然保持它们与主要使用这些枚举的类处于同一命名空间中。这是个人偏好问题,你应该尽可能让自己和团队能够轻松阅读代码。我不会在文件夹结构中使用任何匈牙利式表示法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接