【发布时间】:2014-12-11 03:03:55
【问题描述】:
我正在开发一个包含大约 100 个错误代码和相应消息的新项目。 之前的做法是使用一个包含所有这些代码和消息的常量类作为最终字符串。
我个人不喜欢这个想法,因为添加/删除错误代码需要更改代码。 我的其他选择是创建从属性文件或数据库加载的这些错误代码的缓存(HashMap)。
维护错误代码列表最有效的方法是什么?
【问题讨论】:
-
您如何衡量效率?如果在代码中引用了这些错误,将它们定义为常量/枚举的主要好处是编译时检查。如果您只是想要一种将对象映射到错误的简单方法,也许您可以让 Spring 向这些对象注入错误代码和消息。
-
我支持明确“高效”的需要:)。就速度而言,常量列表将是最快的,因为在编译时“找到”了正确的字符串。如果您想在不重新编译的情况下使列表动态/可配置,您可以通过将字符串存储在以错误代码为索引的数组中来获得一些速度(假设您的错误代码不是大整数,您将浪费一些内存并获得一些查找速度:)
-
我认为高效意味着维护代码(第二段和第三段中使用维护)。这不是关于 CPU 效率的问题。
-
对不起,我应该更清楚一点,效率是指将来更易于维护,考虑到这一点,我想知道从长远来看,哪种方法对性能的影响最小。
标签: java exception design-patterns error-handling