【问题标题】:PHP: Condition Format - (6 == $var) or ($var == 6)?PHP:条件格式 - (6 == $var) 还是 ($var == 6)?
【发布时间】:2011-07-21 03:22:55
【问题描述】:

我在浏览these PHP Coding Guidelines(有点过时但很有趣),发现了这个:

条件格式

始终将常数放在 平等/不平等比较。例如:if ( 6 == $errorNum ) ...

一个原因是,如果您遗漏了其中一个 = 符号,解析器 将为您找到错误。第二个原因是它把价值 您正在寻找可以找到它而不是 埋在你表情的末尾。需要一点时间才能得到 习惯了这种格式,但后来它真的变得有用了。

我多年来一直在使用($var == 6),而将它们反过来的想法令人恐惧。但如前所述,这需要一些时间来适应,并且应该有明显的好处。我们只是在公司制定标准,所以如果我们想改变这一点,现在就是这样做的时候。但我想听听其他人是否有这种特殊格式的经验。有意见吗?

编辑

我对人们进行此转换的体验很感兴趣。对我来说,很可能对其他人来说,这看起来是一个你需要习惯的重大变化。但它看起来很有趣。所以对于那些已经转换的人的问题:你能推荐这个改变吗?

【问题讨论】:

  • 如果你经常犯 = 而不是 == 之类的错误 - 那么你的代码会遇到更大的问题,而不仅仅是这个。
  • 我更喜欢让 IDE 警告我,而不是像这样编写复杂的代码。
  • 为什么会被否决?如果这是问题,我看不出这是如何重复的。我专门询问这方面的经验,而不是与引用的副本是否相同。
  • 这需要一些时间来适应。这是一个更好的主意,因为它可以在运行时使代码中的简单错误变得明显。

标签: php conditional-statements


【解决方案1】:

6 == $var 具有$var == 6 没有的真正优势。它根本没有什么可怕的,它只是看起来不同。你应该习惯它并使用它。事实上,我还没有习惯它,而且我经常忘记它。您真的必须考虑并使用它,因为相反的情况很常见。

如果您不知道,好处是可以防止简单的语法错误,因此:

if ($var = 6) {} //weird semantic error
if (6 = $var) {} //parse error

【讨论】:

  • 现代 IDE 将这一点突出显示为警告。
  • @netcoder 非常明智.. vim 有语法高亮。我认为 zerkms 是这里滥用这个词的人。
  • @tandu:你想怎么想就怎么想。但是我的编辑器(我们称这种软件为“编辑器”)可以帮助我编写正确的代码,而您的则不能。看起来有人做出了更好的选择,而另一个人应该改变操作数的顺序以获得相同的结果,你不这么认为吗?
  • 如果我的编辑器总是突出显示 if($var = 6){} 作为警告,我会很生气...这是否意味着它会突出显示 while($row = mysql_fetch_array($result) ){} 也是?
  • @zerkms 想要开始另一场编辑大战?无论如何,使用$var == 6 胜过6 == $var 绝对没有任何好处。即使技术如此落后,您为什么不想尽可能多地采取免费预防措施?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
  • 1970-01-01
  • 2011-08-08
  • 2010-09-29
  • 2012-02-13
  • 2011-08-08
相关资源
最近更新 更多