在编写代码时,尤其是在处理日期和时间时,必须使用许多特定的数字,例如:一分钟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/