最近,我遇到了很多依赖“属性文件”进行配置的 Java 代码。但是代码使用常量(静态最终字符串)来检索属性值,而不是普通的旧字符串文字。
我发现这种额外的间接级别很烦人,因为我需要在任一方向执行两次查找。如果我从配置文件中观察到的属性开始,我必须先搜索属性名称以找到 Java 常量,然后再次搜索以找到代码中对该常量的引用。如果我从代码开始,我必须先找到常量的实际值,然后才能确定配置文件中属性的值!
重点是什么?
我理解使用常量来引用资源包中的键的价值,通常是为了支持 i18n。我指的是简单的、非面向用户的配置值。我能想到的唯一原因是以后可以轻松更改属性名称,但是这种好处远不及恕我直言的烦恼,尤其是考虑到全局搜索和替换的简便性。