Netbeans 似乎暗示太多的任务是非常糟糕的,应该改变。
IE
$foo = ' bar ';
$foo = trim($foo);
应该更好地编码为
$foo = ' bar ';
$trimmed_foo = trim($foo);
这可以接受吗?如果是,为什么?我知道我可以在设置中关闭这个特定的提示类型,但只是检查是否有人为此发现了任何东西。
Netbeans 似乎暗示太多的任务是非常糟糕的,应该改变。
IE
$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 -> 不可变变量中将其停用
恕我直言,第一种方法可以比第二种方法获得更高的性能。
另一方面,如果您需要更多描述性变量,第二种方法会更有帮助。如果多人在同一个项目上工作,这可能会更有帮助。