当前位置:  开发笔记 > 编程语言 > 正文

空间差异

如何解决《空间差异》经验,为你挑选了2个好方法。

有什么区别

if(null==object)

if(object==null)

请使用上述优点.



1> Greg..:

如果您不小心键入=而不是==:

if (null = object)- 编译错误
if (object = null)- 错误!



2> 小智..:

在过去的好时光,编译器很乐意让你在条件内进行任务,导致无意的错误:

if(a = false)
{
  // I'll never execute
}
if(b = null)
{
  // I'll never execute 
}
b.Method(); // And now I'm null!

因此,一些聪明的开发人员开始将他们的常量放在他们的条件中:

if(false = a) // OOPS! Compiler error
{
  // ..
}
if(null = b) // OOPS! Compiler error
{
  // ..
}

所以他们训练自己避免了一整类错误.大多数现代编译器将不再让你犯这个错误,但这种做法仍在继续.

始终将常量放在第一位还有另一个好处:

if(myString != null && myString.Equals("OtherString"))
{
  // ...
}

can(在.NET,Java和大多数具有基于对象的字符串类型的语言)被简化为:

if("OtherString".Equals(myString))
{
  // ..
}

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有