当检查如果一个对象等于某个值,是有之间的一些差异:操作数的顺序是否与比较运算符有关?
myObject == someValue
或
someValue == myObject
换句话说,不比较运算符的操作数的顺序有关系吗?这是编码风格的问题吗?
我一直在使用前者,但一个项目一直在使用后者,这是我以前从未见过的。
例如
if (data != null)
data.Write(writer);
或
if (null != data)
data.Write(writer);
我一直在使用前者,而在该项目的一些成员已经使用后者
。
谢谢。
唯一的区别在于可读性。当硬编码值位于比较运算符的右侧时,大多数人发现它更易读。 –
问题,事实并非如此。 '(null!= data)'通俗地称为“尤达条件”。五年前,我为了目前的工作而异想天开地采访了一位专家,但他们仍然对此表示不满。我通常只会在另一个操作数是长方法调用或其他操作数时才这样做,并且首先将常量放在第一个果实可读的位置,但在这种情况下,您应该将它分配给本地。 –