现在我的项目中有大量的常量字符串和枚举。从一开始我就使用了以下方法(伪php示例代码):
class Constants implements iStatuses, iEmailTypes {
}
interface iStatuses {
const STATUS_NEW = 1;
cosnt STATUS_UPDATED =2;
...
}
interface iEmailTypes {
const EMAIL_TYPE_NEW = 1;
const EMAIL_TYPE_UPDATED =2;
...
}
这种方法允许我在代码中的任何地方以下列方式获取常量,因为我在index.php中包含了“常量”类。
$this->sendEmailByType(CONSTANTS::EMAIL_TYPE_NEW);
但是,我完全可以看到这种方法的缺点:
由于我的项目现在变得越来越大,我们需要将它与其他项目的代码合并,因此需要更改类Constants方法。但是,我根据该类获得了太多依赖项。我应该如何重构这种方法,以免破坏使用常量类值的旧代码。
请分享您的想法和建议,如何改进我的'常数'方法,或确认它是不错的,我应该支持它。
提前谢谢。
答案 0 :(得分:11)
为什么不为每个上下文设置常量类。即
open syscall overhead is 24497
open syscall overhead is 13523
open syscall overhead is 9025
open syscall overhead is 5784
open syscall overhead is 26390
稍后,当您或其他程序员想要为您的应用程序做出贡献时,他们可以轻松地检查他们期望的主题的相关常量,而不是查看一个大的常量池。
.e.g一旦在电子邮件类型中查找标记,我希望在class Statuses
{
const STATUS_NEW = 1;
const STATUS_UPDATED =2;
...
}
class EmailTypes
{
const EMAIL_TYPE_NEW = 1;
const EMAIL_TYPE_UPDATED =2;
...
}
内找到它,如果不在那里,请自信将其添加到同一个类中。