微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

强制在Groovy中使用显式的return语句,尤其是基于RxJava的代码?

我已经被Groovy中的隐式return语句烧坏了很多次,尤其是对于RxJava.是否存在将Groovy置于通过隐式return语句返回的任何值都将被忽略(不返回)的模式的声明或设置?

在Groovy中,当使用Reactive Extensions时,忘记返回Observable会导致难以调试的“僵尸”情况,在这种情况下,序列在看似很小的更改后就停止发出值.

一个困难的调试情况是通过删除在显式返回语言中无害的语句,意外地在运算符闭包或必须返回可观察值的某种方法的末尾放置,现在由于无意间返回某种其他类型而创建的一个新的语句,该语句在前一个语句上遮挡了所需的Observable返回值,从而炸毁了Observable序列.

这不是废话.我已经浪费了很多时间来寻找仅在显式return语句返回值的情况下才不会发生的问题.我认为Groovy是一种强大的语言,我真的没有时间重写我在Java中工作的Groovy代码库来获得所需的东西.所以我希望有一个Groovy设置可以满足我的要求.

解决方法:

Is there a declaration or setting that will put Groovy in a mode
where any values returned via an implicit return statement will be
ignored (not returned)?

不,没有.您可以编写一个AST转换,以强加您喜欢的任何规则,并且可以使用诸如codenarc的静态分析工具来抱怨没有明确回报的非空方法,但是所问问题的答案是“否”.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐