13

Netbeans 似乎暗示太多的任务是非常糟糕的,应该改变。

IE

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

应该更好地编码为

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

这可以接受吗?如果是,为什么?我知道我可以在设置中关闭这个特定的提示类型,但只是检查是否有人为此发现了任何东西。

4

5 回答 5

7

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

由于您使用了修剪示例,我猜您已阅读此https://blogs.oracle.com/netbeansphp/entry/several_new_hints,它试图解释警告。我对这个警告的看法是,它试图警告您意外重用变量。因此,它非常方便。在您给它的装饰盒中,它似乎有点笨拙。如果重新分配是在他接下来的路线上,那可能不是偶然的。

于 2013-03-06T03:14:22.560 回答
5

理想情况下,变量名应该描述内容。如果您重复分配给同一个变量,则表明变量内容没有很好地定义。

此外,如果您的代码有这样的内容:

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

如果您更新代码以在$foo = trim($foo);上面加起来会发生什么?你破坏了下面的代码。

于 2013-03-06T02:59:20.587 回答
5

这些变体没有区别。如果有的话,第一个更好,因为它避免了变量使范围混乱。

我认为警告的真正含义是您应该尝试做

$foo = trim(' bar ');

直接(或任何 $foo 首先真正设置为),而不是将其存储在临时文件中。当然,这并不总是可能的。

于 2013-03-06T03:00:24.937 回答
2

如果你不喜欢这个提示,你可以简单地在工具 -> 选项 -> 编辑器 -> 提示 -> PHP -> 不可变变量中将其停用

于 2016-01-17T10:57:46.133 回答
0

恕我直言,第一种方法可以比第二种方法获得更高的性能。

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

于 2013-03-06T03:07:33.717 回答