空检查的编码标准

时间:2010-10-29 07:13:58

标签: java coding-style

  

可能重复:
  What's the comparison difference?
  Null check in Java

大多数开发人员都习惯在左侧编写带null的null检查。比如,

if(null == someVariable)

这有帮助吗?据我说,这影响了代码的可读性。

3 个答案:

答案 0 :(得分:15)

不,它在Java中没有任何意义。

在C和它的一些相关语言中,它有时被用来避免犯这个错误:

if (someVariable = null)

注意=而不是==,作者无意中将null分配给someVariable而不是检查null。但这会导致Java中的编译器错误。

即使在C语言中,任何现代编译器都可以选择将if (someVariable = null)视为警告(甚至是错误)。

在风格上,我同意你的看法 - 我不会说“如果你是21,我会为你喝一杯”(除非我已经有几个几个并且正在做我的尤达假冒)。请注意,那是英语;就我所知,在其他语言中它会非常有意义,在这种情况下,对于这些语言的发言者来说,这将是完全合理的风格。

答案 1 :(得分:5)

当C编译器想要=时,C编译器不会抱怨错过==时,过去常常会帮助他们:

// OOps forgot an equals, and got assignment
if (someVariable = null) 
{
}

任何现代的C#/ Java / C ++ / C编译器都应该发出警告(希望是错误)。

就个人而言,我找到了

if (someVariable == null) 
{
}

比从null开始更具可读性。

答案 2 :(得分:0)

在你的情况下,我没有看到这样做的任何优点。但我更喜欢以下......

if("a string".equals(strVariable))
{
}

over this ..

if(strVariable != null && strVariable.equals("a string"))
{
}