我一直想知道为什么有些程序员在条件句中使用FALSE == var
而不是var == FALSE
。使用前者是否有任何性能提升?我相信后一种格式更具可读性。
答案 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
作业,以防他们制作使用此风格的拼写错误的程序员。