为了提高代码的可读性,避免在 IF 条件下使用 NOT 运算符真的是一个好习惯吗?我听说 if (doSomething())
比 if (!doSomething()).
更好
原文由 Eugene 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了提高代码的可读性,避免在 IF 条件下使用 NOT 运算符真的是一个好习惯吗?我听说 if (doSomething())
比 if (!doSomething()).
更好
原文由 Eugene 发布,翻译遵循 CC BY-SA 4.0 许可协议
作为一般性陈述,最好使您的 if 条件语句尽可能可读。对于您的示例,使用 !没关系。问题是当事情看起来像
if ((a.b && c.d.e) || !f)
你可能想做类似的事情
bool isOk = a.b;
bool isStillOk = c.d.e
bool alternateOk = !f
那么你的 if 语句被简化为
if ( (isOk && isStillOk) || alternateOk)
它只是使代码更具可读性。如果你必须调试,你可以调试 isOk 变量集,而不必深入研究作用域中的变量。它还有助于处理 NPE——将代码分解成更简单的块总是好的。
原文由 hvgotcodes 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
这真的取决于你想要完成什么。如果您没有 else 子句,那么
if(!doSomething())
似乎没问题。但是,如果你有我可能会反转该逻辑以删除
!
运算符并使if
子句更加清晰。