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

10-13 07:54