FALSE == var和var == FALSE之间的差异

时间:2014-05-07 08:33:01

标签: difference

我一直想知道为什么有些程序员在条件句中使用FALSE == var而不是var == FALSE。使用前者是否有任何性能提升?我相信后一种格式更具可读性。

3 个答案:

答案 0 :(得分:2)

这只是为了避免意外输入var = FALSE而不是var == FALSE的错误,从而将FALSE分配给var并保证条件成立。< / p>

答案 1 :(得分:2)

某些语言允许在需要条件的地方进行分配(例如C);

if (a = 5)

这导致了(在某一点上)常见的错误类,因为当然上面的 5分配给a然后,因为5不是零,进入if的主体。当然,作者的意思是

if (a == 5)

如果以其他方式编写,则无法编译代码:

if (5 = a)

...因为你不能分配常数。因此,标记错误并将其修复为

if (5 == a)

使用任何现代(甚至相对较旧)的编译器,都不需要这样做。使用lint设置警告您有关预期比较的分配。

答案 2 :(得分:0)

没有意义或表现上的差异。

只要避免意外var = FALSE作业,以防他们制作使用此风格的拼写错误的程序员。

有些人称他们为{p> Yoda conditions。推荐他们我没有。但如果您找到它们有用,请尽可能使用它们。