在编写代码时,尤其是在处理日期和时间时,您必须处理许多特定的数字,例如:一分钟 60 秒,3600 = 一小时秒。
有些人坚持使用其中的许多原始值,而其他人则将它们放入常量中以提高可读性。
例如:
$x = time() + 3600;
$y = time() + 86400;
$z = time() + 604800;
// vs
define('MINUTE', 60);
define('HOUR', 60 * MINUTE); // 3600
define('DAY', 24 * HOUR); // 86400
define('WEEK', 7 * DAY); // 604800
$x = time() + HOUR;
$y = time() + DAY;
$z = time() + WEEK;
当然,第二个更容易阅读,但对于一些较低的值来说有点OTT,所以你到底在哪里划线? 就个人而言,我认为 86400 的可读性没有问题(在我的脑海中,我自动将其读作“24 小时”),但会在 WEEK 常数处划线。
最佳答案
86400 不行,因为你很容易把它打错为 84600、88400 等
错误输入的常量将是编译错误
关于language-agnostic - 魔数(Magic Number)与命名常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/608856/