我最近在最近的回答中收到了使用以下内容的downvote :
String word = ...;
if ("s".equals(word) || "y".equals(word)
Run Code Online (Sandbox Code Playgroud)
由于使用"yoda条件"而给出了downvote.我要求进一步解释,但没有提供.我更喜欢这种风格以避免可能NullPointerException.
这是一种糟糕的编码风格吗?如果是这样,为什么?
Tom*_*ine 34
Bill Pugh在Devoxx 2011上提出了这个问题.绝大多数人都选择了这个问题"xyz".equals(str).比尔,我现在更喜欢str.equals("xyz").
我们在合理可能的早期发现错误是Java传统的基础.NPE非常普遍.我们希望尽快将这些空值路由出去.
如果您期望引用可能null,那么我并不特别反对向后表示法.很明显,更容易理解可能null有一个单独的null检查,但应该很好地理解相反的顺序,并充分区分代码与null禁止的正常情况.
在安全性方面,一些容忍零容忍的漏洞就是漏洞.
Den*_*men 10
Yoda条件(即在比较中将变量放在常量之前)可以被认为是不好的做法,因为它使得代码行不易理解.但是在这种特殊情况下,我会说使用Yoda条件会使代码更容易理解,因为您不必在它前面添加额外的空值检查.
| 归档时间: |
|
| 查看次数: |
5068 次 |
| 最近记录: |