关于枚举后缀(Kind vs. Type)的任何指导

本文关键字:Type 任何指 vs 后缀 于枚举 枚举 Kind | 更新日期: 2023-09-27 18:17:37

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

在。net框架中,我看到了同时使用"Kind"(例如System.DateTimeKind)和"Type"(例如System.IO.DriveType)的例子。

查看mscorlib中的公共枚举,我发现"Type"使用得更频繁,但在一些较新的类型上仍然使用这两个类型,这意味着看起来微软没有遵循任何特定的约定。

谁有什么建议,在我的API使用什么?是否有任何关于这个主题的公开会议?

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

关于枚举后缀(Kind vs. Type)的任何指导

我知道微软关于枚举的唯一命名约定是这样的(from msdn)

  • 枚举类型和值名使用Pascal case。
  • 少用缩写
  • 不要在Enum类型名称上使用Enum后缀。
  • 对大多数枚举类型使用单数名称,但对位字段的枚举类型使用复数名称。
  • 总是将FlagsAttribute添加到位字段枚举类型中。

这是相当旧的,但没有看到任何与此相关的更新

我认为没有人能告诉你关于你的特定问题的"正确"方法,因为两种选择都是有效的,这只是一个品味问题。

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

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

用描述枚举是什么的描述性名词短语命名枚举(例如,RegexOptions, DateTimeKind, BorderStyle等)。不要强迫使用任意后缀。