什么是更好的编码标准x!= null或null!= x?

时间:2012-09-24 18:22:43

标签: c# java c

  

可能重复:
  Conditional Statements difference

我想知道编写代码的好方法是什么:

X != null 

null != X

他们两个都会做同样的事情,但有时候我会看到人们写null != X因此我不确定写这篇文章的好方法。

5 个答案:

答案 0 :(得分:17)

将比较转换为null != X的惯例主要来自C其中

if(X == NULL) {

很容易与

混淆
if(X = NULL) {

这是一个有效的语句,用NULL覆盖X而不是检查它是否为NULL。

以另一种方式转换比较;

if(NULL == X) {

同样适用,但将equals运算符与赋值混淆

if(NULL = X) {

实际上会产生编译错误。

答案 1 :(得分:7)

通常的做法是将变量放在左侧:X != null。将变量放在右侧通常称为“Yoda Condition”。

答案 2 :(得分:2)

将文字放在左边意味着如果你不小心使用=而不是==,编译器会抱怨。此外,它还可以节省显式空值检查,例如(在Java中)

if("hello".equals(someString))
如果someString为空,则

返回false。

答案 3 :(得分:1)

我总是使用格式

<VAR> (!)= <VAL>

并且永远不会颠倒订单。

答案 4 :(得分:1)

正如你已经说过的,他们俩都会做同样的事情。问题是关于风格的。我个人会说x!= null更具可读性。