小编典典

枚举命名约定 - 复数

all

尽管在C# 枚举和匹配属性的命名约定中阅读了类似但不完全是我想要的内容,但我仍然在问这个问题

我发现我倾向于将枚举命名为复数,然后将它们“使用”为单数,例如:

public enum EntityTypes {
  Type1, Type2
}

public class SomeClass {
  /*
    some codes
  */

  public EntityTypes EntityType {get; set;}

}

当然可以,这是我的风格,但是任何人都可以发现这种约定的潜在问题吗?不过,我确实有一个带有“状态”一词的“丑陋”命名:

public enum OrderStatuses {
  Pending, Fulfilled, Error, Blah, Blah
}

public class SomeClass {
  /*
    some codes
  */

  public OrderStatuses OrderStatus {get; set;}

}

附加信息:也许我的问题不够清楚。在命名我定义的枚举类型的变量时,我经常不得不仔细考虑。我知道最佳实践,但这无助于减轻我命名这些变量的工作。

我不可能将我所有的枚举属性(比如“状态”)公开为“我的状态”。

我的问题:谁能发现我上述约定的潜在问题? 这与最佳实践无关。

问题改写:

好吧,我想我应该这样问这个问题:有人能想出一个好的通用方式来命名枚举类型,这样在使用时,枚举“实例”的命名会非常简单吗?


阅读 97

收藏
2022-04-13

共1个答案

小编典典

Microsoft 建议对Enums
使用单数,除非Enum代表位字段(FlagsAttribute也使用
the)。请参阅枚举类型命名约定(Microsoft命名指南的一个子集)。

为了回应您的澄清,我认为以下任何一项都没有问题:

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass { 
    public OrderStatus OrderStatus { get; set; }
}

或者

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass {
    public OrderStatus Status { get; set; }
}
2022-04-13