将所有枚举保存在一个地方是个好主意吗?

Dea*_*uga 15 .net c#

当我构建一个类库时,我通常创建一个文件Enums.cs来保存程序集中使用的所有枚举.这是一个例子:

namespace MyNamespace
{
    public enum Colors
    {
        Red,
        Green,
        Blue
    }
    public enum Shapes
    {
        Circle,
        Square,
        Triangle
    }
}
Run Code Online (Sandbox Code Playgroud)

这使得我的所有枚举都易于查找,组织良好且易于访问代码.

我想知道为什么这不是一个好主意?

Bar*_*lly 16

通过模块化而不是按类型安排定义通常更好.

  • 一点精心制作,简洁明了.好一个. (2认同)

Ree*_*sey 15

我个人认为这不是一个好主意.我更喜欢将枚举保存在他们自己的文件中(每个定义的枚举一个文件),就像一个类.如果我正在寻找一个类型的名字,这对我来说更明显(对我而言).我将枚举视为类或结构,或任何其他命名空间范围的类型,对我来说,每个文件一个类型.

如果您的项目中定义了许多枚举,那么您的方法的主要缺点就会出现 - "一个文件"会变得非常大.

但是,编译的IL没有技术差异.这实际上更像是一种个人的组织策略.


Dan*_*ker 9

好吧,您可以对所有委托类型,所有类,所有结构应用相同的推理.

通过根据事物对编译器的重要性对事物进行分组,您将失去以对有意义的方式对事物进行分组的机会.编译器已经知道如何根据它们在语言中的含义来对待它们.

就个人而言,当我想找到与"Parser"相关的声明而不是"Configuration Dialog"时,我会前往保存该功能代码的地方.根据我使用的语言功能,我不必查看五个不同的地方.