10

我正在设计一个供公众使用的 .NET API。在我的 API 中,有一堆枚举,我正在努力决定用于后缀的约定。

在.NET 框架中,我看到了同时使用“Kind”(例如System.DateTimeKind)和“Type”(例如System.IO.DriveType)的示例。

查看 mscorlib 中的公共枚举,我发现“类型”的使用频率更高,但两者仍然用于一些较新的类型,这意味着微软似乎没有遵循任何特定的约定。

有人对在我的 API 中使用什么有任何建议吗?是否有任何已发布的公约涵盖该主题?

我倾向于使用“种类”作为后缀,并保留术语“类型”来处理System.Type对象或数据类型。

4

2 回答 2

6

我从微软知道的关于枚举的唯一命名约定是这个(来自msdn

  • 对 Enum 类型和值名称使用 Pascal 大小写。
  • 谨慎使用缩写。
  • 不要在 Enum 类型名称上使用 Enum 后缀。
  • 对大多数 Enum 类型使用单数名称,但对作为位字段的 Enum 类型使用复数名称。
  • 始终将 FlagsAttribute 添加到位字段 Enum 类型。

它已经很老了,但没有看到任何与此相关的更新。

我认为没有人可以告诉您针对您的特定问题的“正确”方法,因为这两种选择都是有效的,而且只是口味问题。

我会说你应该与团队达成一个共同的策略并坚持下去。我认为每个人都使用相同的命名约定比使用哪个更重要。

我个人使用Type后缀,但同样,这只是口味问题。

于 2013-06-07T17:17:06.093 回答
3

用描述枚举是什么的描述性名词短语命名您的枚举(例如RegexOptions,、、、DateTimeKindBorderStyle)。不要强制使用任意后缀。名字自然应该来自事物的本质

于 2013-06-07T17:26:07.980 回答