当前位置:首页 > 每日看点 > 正文内容

在JAVA里面还推荐使用尤达表示法吗?oj==null这种写法?

卡卷网12个月前 (01-11)每日看点167

<>尤达表示法:Ja中的“丑陋写法”?</>

//if(null==oj){ //Dosomething }

这种写法就是我们常说的<>尤达表示法</>(YodaConditions),名字来源于《星球大战》里的角色尤达,因为这种写法像是反着说话,<>看起来非常不自然</>。

那<>在Ja代码中,尤达表示法到底是否应该继续使用?</>

<>尤达表示法为什么出现?</>

尤达表示法的由来其实很简单:最早的时候,许多编程语言(包括C和C++)的开发者常常使用这种方式,<>主要是为了避免某些编译器的潜在错误或编程不规范所带来的问题。</>

<>1.防止赋值错误</>

在早期的C/C++编程中,开发者如果不小心写成了:

//if(oj=null){//Dosomething}

这段代码就会发生错误,因为=是赋值作符,表示给oj赋值为null,而不是较oj是否等于null。但如果写成null==oj,编译器就会强制把null作为常量放在左边,防止误用=符号,<>避免将较作写成赋值作</>。

<>2.旧时代的代码习惯</>

在早期,很多C/C++的开发者习惯性地使用尤达表示法,以防止将“==”误写成“=”(赋值符号),这成为了一种编程习惯。不过,在现在这种需求已经大大减少了。

<>现代Ja:尤达表示法的弊端</>

<>1.可读性差</>

尤达表示法的最大问题就是<>可读性差</>。对于现发者来说,null==oj看起来就像是倒过来的句子,<>不自然也不直观</>。

你直接看到oj==null,会立刻明白意思:如果对象为空,执行某个作。而null==oj则让人一时摸不着头脑,反而让代码显得更加晦涩。

<>2.现代IDE也会帮你检查</>

如今的大多数现代IDE(如<>InliJIDEA</>或<>Eclipse</>)都已经能很容易地捕捉到潜在的错误,如果你写了oj=null,它会立刻提示你“可能是写错了”,并提醒你检查代码。因此,<>用null==oj来防止赋值错误,已经不再是必需的</>。

3.这种写法如今也是少之又少了

现代Ja编程的推荐写法是<>左值在前,右值在后</>。Ja中的普遍约定就是先写对象再写值(如oj==null),这样不仅符合语言习惯,也符合大多数开发者的直觉。这个习惯更加符合Ja语言的语法和阅读习惯。


<>那么,究竟要不要继续使用尤达表示法?</>

<>没必要再用,</>随着编程工具的进步、语言本身的强大和开发标准的演进,<>尤达表示法的优势几乎消失了</>。因此,<>完全没有必要使用null==oj这种写法</>。

而Ja编程推荐的做法是:<>oj==null</>,这种写法显然null==oj更直观,更容易被开发者理解。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8686.html

分享给朋友:

相关文章

b站真的能自学PS吗?

b站真的能自学PS吗?

看你想达到哪一种程度了,如果你只是平常用PS扣图、调整照片大小、尺寸、简单调个色这样,自学真的挺简单的,B站很多免费的教程都可以教会你这些技巧。但是如果说你想成为专业的设计师或者是商业修图师,无师自通真的非常难,首先你会走很多弯路,不知道怎...

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在 Istio、Linkerd 和 Cilium 之间,哪种服务网格在性能上表现最佳?

在讨论服务网格之前,先理解一下为什么我们需要它。现代微服务架构意味着将应用拆分为多个小型、独立的服务,这些服务可以独立开发、部署和扩展。然而,服务之间的通信和管理成了巨大的挑战,例如如何保证安全的通信、负载均衡、监控与可观测性等。服务网格...

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么?产品经理。当然,大多数产品经理也...

为什么小公司留不住人?

为什么小公司留不住人?

我估计,整个知乎,可能没有比我公司再小得了,。。正对面就是我唯一的一个员工的工位。为啥留不住人。因为那些留不住人的老板,太拿自己当回事。大公司靠制度。小公司靠人情。我这儿的业务,因为全都是线上,所以员工来不来坐班都不重要。天太热可以不来,下...

年收入40万的网文作者,是不是可以吊打任何职业了?

哈,我二十岁的时候也这么狂。想当年,我一个大二学生,在宿舍里写出一本大精品,月入两万五,在学校里走路都是横着的,游戏卡池一开,看都不看,氪到出货为止。iPhone12pro一发布直接买,还买了个iPad Pro,都是官网直接买的,Apple...

是什么原因让你一定要用 iPhone?

是什么原因让你一定要用 iPhone?

1、不用清理内存,iPhone真的可以开机用上一年,你根本不用关注期间打开过什么软件。2、支持的频段足够多,天天在国内走动倒是无所谓,很多Android手机一旦出去了,就会发现很多运营商接入都是问题,更不用说各种本土化的服务了。3、屏幕素质...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。