我正在设计一个供公众使用的.NET API。在我的API中,有一堆枚举,我很难决定用于后缀的约定。
在.NET框架中,我看到使用“Kind”(例如System.DateTimeKind
)和“Type”(例如System.IO.DriveType
)的示例。
查看mscorlib中的公共枚举,我看到“Type”被更频繁地使用,但两者仍然在一些较新的类型上使用,这意味着它看起来像Microsoft没有遵循任何特定约定。
有没有人建议我在API中使用什么?是否有任何已发布的公约涵盖此主题?
我倾向于使用“Kind”作为后缀,并保留术语“Type”来处理System.Type
对象或数据类型。
答案 0 :(得分:4)
我从Microsoft了解到与枚举相关的唯一命名约定是(来自msdn)
- 对Enum类型和值名称使用Pascal大小写。
- 谨慎使用缩写。
- 请勿在枚举类型名称上使用枚举后缀。
- 对大多数枚举类型使用单数名称,但对位数字段的枚举类型使用复数名称。
- 始终将FlagsAttribute添加到位字段枚举类型。
它已经很老了,但没有看到与此相关的任何更新。
我认为任何人都不能告诉你针对特定问题的“正确”方法,因为这两种选择都是有效的,而且只是一种品味问题。
我会说你应该与团队达成共识并坚持下去。我认为每个人使用相同的命名约定比使用它更重要。
我个人使用Type
后缀,但同样,这只是一个品味问题。
答案 1 :(得分:2)
使用描述性名词短语命名您的枚举,描述枚举 的内容(例如RegexOptions
,DateTimeKind
,BorderStyle
等。不要强制使用任意后缀。名称应该来自 的内容。