优缺点:(a == 0) vs (0 == a)

Pros and cons of: (a == 0) vs (0 == a)

以下两种表示法的优缺点是什么?

if (a == 0) ...

if (0 == a) ...

第一个更具可读性。第二个呢?

这里实际上只有两件事在起作用:

首先是可读性,这是不言自明的。

第二个是防止可能的bug,在你的例子中,它防止不小心做

if (a = 0)

一些编译器会警告您,您正在使用赋值的 return 值的隐式真实性,但大多数时候这是一个拼写错误。如果你反转这个

if (0 = a)

它甚至不会编译,所以它是一个强制预防的错误