2016-03-02 34 views
4

如果我是叫历时一个参数,然后在同一时间定义的变量的方法,是否会被认为是“坏习惯”?在调用一个方法不好的做法中声明了一个变量吗?

例子:

if(file_exists($file = "skins/Default/Controllers/Demo.php")) 
{ 
    require($file); 
} 

我觉得好像它使事情变得更容易,因为它不需要创建上面的另一个变量,也不会被写入字符串两次了混乱的代码。

+2

有疑问时,总是问自己:“我该怎么获得,如果我写这样的代码”。在你的情况下,你从性能POV中获益匪浅,但你降低了可读性。收益= 0.损失= 1.我同意zzzzBov的回答,它涵盖了很好的话题。 –

回答

7

正在申报中调用一个方法不好的做法的变量?

是的,因为它背后隐藏的其他功能的意图。

$file = "skins/Default/Controllers/Demo.php"; 
if (file_exists($file)) { 
    require($file); 
} 

更容易阅读和推理比:

if (file_exists($file = "skins/Default/Controllers/Demo.php")) { 
    require($file); 
} 

,因为这将会是很容易误认为​​,这是常见的一种if语句中看到。

+0

谢谢你,你给的代码应该如何的例子,为什么它是不好的做法,把它写成我以为。有趣的是,我没有想过如何将它误认为== – Jarrod

0

它可以被认为是不好的做法,因为它减少了代码的可读性(=>可维护性)。

$file = "skins/Default/Controllers/Demo.php"; 
if(file_exists($file)) 
{ 
    require($file); 
} 

更具有可读性

+0

谢谢你,我觉得好像zzzzBov的答案有一个更详细一点,为什么它被认为是不好的做法。 – Jarrod

相关问题