在PHP中,过多的赋值是否被认为是不好的?如果是,为什么呢?


In PHP, is too many assignments are considered bad? If so why?

Netbeans似乎建议太多的分配是相当糟糕的,应该改变。

$foo = ' bar ';
$foo = trim($foo);

最好写成

$foo = ' bar ';
$trimmed_foo = trim($foo);

可以吗?如果是,为什么呢?我知道我可以在设置中关闭这个特殊的提示类型,但只是检查一下是否有人发现了这个

这是一个新的警告,大约在2012年中期。

既然您使用了修剪示例,我猜您已经阅读了这个https://blogs.oracle.com/netbeansphp/entry/several_new_hints,它试图解释警告。我对这个警告的理解是,它试图警告您意外重用变量。因此它是非常方便的。在修剪的情况下,你给它似乎有点沉重。

理想情况下,变量名应该描述内容。如果你反复赋值给同一个变量,这表明变量的内容没有很好地定义。

另外,如果你的代码有这样的内容:

$foo = ' bar ';
// some code, mybe 100 lines of it
// now do something with $foo

如果您更新代码以在上面添加$foo = trim($foo);会发生什么?

这些变量没有区别。如果有什么区别的话,第一个更好,因为它避免了变量的混乱作用域。

我认为这个警告的真正意思是你应该试着做

$foo = trim(' bar ');

直接(或者无论$foo在最初被设置为什么),而不是将其存储在临时文件中。当然,这并不总是可能的。

如果你不喜欢这个提示,你可以在工具->选项->编辑器->提示-> PHP ->不可变变量

中禁用它

恕我直言,第一种方法比较第二种方法性能更好。

另一方面,如果您需要更多的描述性变量,第二种方法可能更有帮助。此外,如果多人在同一个项目上工作,这可能会更有帮助。