想象一下,您正在编辑一个大型的后台企业 Java 应用程序,其他人可能会在几年后在该应用程序中闲逛。这意味着您必须保持代码干净且易于理解,性能可能不是第一要务。
有一个模块需要
- 从对象中提取数据
- 地图数据参数,例如 SE -> Sweden [目前仅适用于本模块并在此模块中使用]
- 将这些新参数发送到某个地方(例如通过电子邮件/xml)
对于一小组数据,我会使用一个小的 HashMap,但是必须转换的自定义数据表已经增长到 3 个 HashMap,其中一些元素大约有 100 个。我将它们放在一个名为 Translator.Java 的文件中
我有一个方法:
public String getCountryCode(String country) {
return countryCodes.get(country);
}
这是由
countryCodes = new HashMap<String, String>() {{
put("Andorra", "AD");
put("Afghanistan", "AF");
...
}};
它看起来很丑!但我的选择似乎是:
- 在新数据库中创建一个数据库表,当编码人员只想查看什么映射到什么时,这会增加另一层混淆。也不需要更改这些数据,如果是这样,最好作为代码更改完成,因为数据库不受源代码控制!(我们使用休眠)
- 将此静态数据存储为配置文件,应用程序使用数据库表进行配置选项,这将增加维护。
- 使用配置数据库表来存储它,这会起作用,但也可能使其余配置选项更难找到,因为配置表中的其他类型的数据相对较小且具有凝聚力。