【发布时间】:2017-07-19 16:33:01
【问题描述】:
我有一个项目,其中包含 5 个不同的 Java 包。它们都包含具有幻数和硬编码字符串的类,我希望为其创建常量。我想知道什么是最佳实践。我应该为程序中所有类都可以导入的所有常量创建一个常量类吗?还是将常量拆分为多个更小的文件会更有效?
【问题讨论】:
-
在什么方面更有效率?跑步速度?
-
恕我直言,您不应该在同一个类中混合与不同关注点相关的常量。
-
这些常量或魔法值是否会根据代码所在的环境而改变?例如,一个 dev 连接字符串与一个 prod 连接字符串?
-
ResourceBundle(s) 和 Properties 文件是很棒的东西。
-
常量类是一种反模式。常量属于它们所属的类。
Integer.MAX_VALUE好; IntegerConstants.MAX_VALUE 将是毫无意义的分离。而且你绝对不应该让一个类包含所有包中的常量。
标签: java constants magic-numbers