我们正在与多个开发人员合作一个项目,目前从配置文件中检索值有点“狂野西部”:
- 每个人都使用一些字符串从 Config 对象中检索值
- 这些 key 分布在多个类和包中
- 有时甚至没有声明为常量
- 键的命名不一致,配置文件 (.properties) 看起来很困惑
我想解决这个问题并强制每个人都明确定义他们的配置键。理想情况下,在一个地方可以简化配置键的实际外观。
我正在考虑使用枚举作为键并将我的检索方法变成:
getConfigValue(String key)
变成类似的东西
getConfigValue(ConfigKey)
注意:我使用这种方法是因为 Preferences API 对我来说似乎有点过分,而且我实际上希望将配置放在一个简单的文件中。
这种方法有什么缺点?
最佳答案
首先,FWIW,我认为这是一个好主意。但你确实问了“缺点”是什么,所以:
最大的“缺点”是它将任何需要使用配置数据的类与 ConfigKey
类联系起来。添加配置键过去意味着将字符串添加到您正在处理的代码中;现在,这意味着将 enum
和 添加到您正在处理的代码中。这(稍微)需要更多工作。
否则,您可能不会显着增加相互依赖性,因为我假设 getConfigValue
所属的类是您定义 enum
的类.
关于java - 强制开发人员显式定义配置数据的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653109/