我注意到许多开发人员使用Math操作作为变量值,例如:
$time = 60 * 60 * 24 * 7; // 7 days
而不是仅仅分配计算值
$time = 604800;
我知道它使代码更容易理解,但这不会影响性能吗? 你认为这样做是一种好习惯吗?
答案 0 :(得分:3)
它可能会影响性能,但我们谈的是一些非常小的事情,甚至不值得考虑(大约99.9%的PHP应用程序)。
我认为这是一个很好的做法,因为如果你想将价值提高到8天,你就不必重新计算所有内容,只需将 7 更改为 8
答案 1 :(得分:3)
在编译语言中,没有性能损失,因为计算将在编译时完成。 PHP通常不编译,因此可能会有很小的性能损失。在大多数情况下,我更喜欢更易读的代码以获得更高的性能(除非代码成为瓶颈)。所以在这种情况下不要担心性能。
现在,如果我们比较您的示例,那么
$time = 60 * 60 * 24 * 7;
即使没有评论,也是自我解释的。如果你写
$time = 604800;
然后它并不明显,价值代表什么。现在,您可以添加注释并编写
$time = 604800; // 7 days in seconds
但这有两个原因:
答案 2 :(得分:2)
php不是担心这种微优化的含义的语言。我更喜欢可读性,除非性能损失很大。这很少见。
答案 3 :(得分:1)
我不担心性能问题。这是一个非常简单的数学问题,知道数字代表什么的优势远远超过了这个非常小的操作的性能。
那就是说,如果你在一个循环中使用它,我会先计算它
$time = 60 * 60 * 24 * 7; // 7 days
for ($i = 0; $i < 10000000; $i++)
{
echo $time;
}