如果我是叫历时一个参数,然后在同一时间定义的变量的方法,是否会被认为是“坏习惯”?在调用一个方法不好的做法中声明了一个变量吗?
例子:
if(file_exists($file = "skins/Default/Controllers/Demo.php"))
{
require($file);
}
我觉得好像它使事情变得更容易,因为它不需要创建上面的另一个变量,也不会被写入字符串两次了混乱的代码。
如果我是叫历时一个参数,然后在同一时间定义的变量的方法,是否会被认为是“坏习惯”?在调用一个方法不好的做法中声明了一个变量吗?
例子:
if(file_exists($file = "skins/Default/Controllers/Demo.php"))
{
require($file);
}
我觉得好像它使事情变得更容易,因为它不需要创建上面的另一个变量,也不会被写入字符串两次了混乱的代码。
正在申报中调用一个方法不好的做法的变量?
是的,因为它背后隐藏的其他功能的意图。
$file = "skins/Default/Controllers/Demo.php";
if (file_exists($file)) {
require($file);
}
更容易阅读和推理比:
if (file_exists($file = "skins/Default/Controllers/Demo.php")) {
require($file);
}
,因为这将会是很容易误认为,这是常见的一种if
语句中看到。
谢谢你,你给的代码应该如何的例子,为什么它是不好的做法,把它写成我以为。有趣的是,我没有想过如何将它误认为== – Jarrod
它可以被认为是不好的做法,因为它减少了代码的可读性(=>可维护性)。
$file = "skins/Default/Controllers/Demo.php";
if(file_exists($file))
{
require($file);
}
更具有可读性
谢谢你,我觉得好像zzzzBov的答案有一个更详细一点,为什么它被认为是不好的做法。 – Jarrod
有疑问时,总是问自己:“我该怎么获得,如果我写这样的代码”。在你的情况下,你从性能POV中获益匪浅,但你降低了可读性。收益= 0.损失= 1.我同意zzzzBov的回答,它涵盖了很好的话题。 –