【发布时间】:2016-07-22 10:51:14
【问题描述】:
在 Javascript 世界中(尤其是在 React 应用程序中)我见过像 [2] 这样的表达式。但是,在 Java 中,这并不那么流行。
1.
if(isValid) {
statement();
}
isValid && statement();
[1] 和 [2] 的结果相同,因为 statement() 不会被评估 if isValid == false。
- 为什么像 [2] 这样的语法不流行?我的意思是,我以前在我见过的任何 Java 项目中都没有遇到过这种情况。
- 方法 [2] 有什么影响吗?
- 它被认为是有害的吗?
- 使用它作为简单的
if语句的替代方案,我会不会有什么惊喜? - 它会降低可读性吗?
编辑:
我在Groovy 控制台中对此进行了测试。我想它使这个问题非常无效。无论如何感谢您的回复。
【问题讨论】:
-
好吧,Java 语言不支持它。 为什么它不支持它是基于意见的 ;-)
-
我不明白这里的赞成票。如果它重新标记为 Groovy,我可能会删除我的反对意见 - 但我对十年 Java 经验产生的问题有点失望。
-
在我看来,如果您编写代码来讲述故事,那么无参数的 void 方法会很好。否则,我强烈建议您花时间遵循 OOP 原则并从严格的设计模式中受益:)
-
does it decrease readability?- 是的!在isValid && a()和isValid || a中,哪一个又做了什么?您必须考虑短路是如何工作的 - 而如果是自然语言if A then B- 没有比这更自然和可读的了! - 为什么要浪费所有这些努力?
标签: java boolean readability