【发布时间】:2015-06-16 12:38:46
【问题描述】:
我们的团队一直在缓慢地重构代码以实施 SOLID 实践并实施更好的命名约定。我们遇到了一个问题,我们有一个枚举,该枚举当前与我们需要创建的另一个类命名相同——“部门”。
现在,我们有一个代表不同部门的枚举,例如:
Department.HumanResource
Department.InformationTechnology
这使我们能够使用该枚举基于友好名称而不是在以下情况下的基础整数 ID 快速引用部门:
Employee.IsInDepartment(Department.InformationTechnology)
它不是“类型”或“状态”或类似命名枚举的常用方法。我们认为可能是“DepartmentName”之类的东西,但感觉有点奇怪,因为部门类将具有“Name”属性,而这个枚举也应该是 Department 类的一个属性。
我意识到命名是主观的,所以我想提出问题:
我们是否从错误的角度看待这个问题?还有其他我们忽略的方法来实现这一点吗?
【问题讨论】:
-
实际上,这在我看来确实像部门类型。
-
您的问题被否决了,因为标题实际上并不能反映您的问题,您的问题可能会更清楚。尝试“创建类似于名称属性的枚举”并更简洁地表达您的问题。
-
看看微软是如何用 System.Drawing.KnownColor 和 System.Drawing.Color.FromKnownColor 解决这个问题的。我在整个 .NET 框架的许多地方都看到了这一点。它可能会激发一些想法:)
-
看看我编辑的答案...
-
@Kjata30:我完全忘记了在更改我所问的内容后重命名问题(因为只是命名的主观性)。感谢您指出了这一点。我将重命名这个问题——我很抱歉!