在JA里面还推荐使用尤达表示法吗?oj==null这种写法?
<>尤达表示法:Ja中的“丑陋写法”?>
if(null==oj){
//Dosomething
}
这种写法就是我们常说的<>尤达表示法>(YodaConditions),名字来源于《星球大战》里的角色尤达,因为这种写法像是反着说话,<>看起来非常不自然>。
那<>在Ja代码中,尤达表示法到底是否应该继续使用?>
<>尤达表示法为什么出现?>
尤达表示法的由来其实很简单:最早的时候,许多编程语言(包括C和C++)的开发者常常使用这种方式,<>主要是为了避免某些编译器的潜在错误或编程不规范所带来的问题。>
<>1.防止赋值错误>
在早期的C/C++编程中,开发者如果不小心写成了:
if(oj=null){
//Dosomething
}
这段代码就会发生错误,因为=是赋值作符,表示给oj赋值为null,而不是较oj是否等于null。但如果写成null==oj,编译器就会强制把null作为常量放在左边,防止误用=符号,<>避免将较作写成赋值作>。
如今的大多数现代IDE(如<>InliJIDEA>或<>Eclipse>)都已经能很容易地捕捉到潜在的错误,如果你写了oj=null,它会立刻提示你“可能是写错了”,并提醒你检查代码。因此,<>用null==oj来防止赋值错误,已经不再是必需的>。
现代Ja编程的推荐写法是<>左值在前,右值在后>。Ja中的普遍约定就是先写对象再写值(如oj==null),这样不仅符合语言习惯,也符合大多数开发者的直觉。这个习惯更加符合Ja语言的语法和阅读习惯。