加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

用于空类参数列表的Scala样式

发布时间:2020-12-16 18:03:13 所属栏目:安全 来源:网络整理
导读:在创建没有类参数的对象时,我很难决定是否应该包含空括号.一个具体的例子:我正在与现有的 Java代码连接,并创建一个实现名为EventResponder的接口的对象.我应该写: val service = new EventResponder() { def respond(message: String): String = { return
在创建没有类参数的对象时,我很难决定是否应该包含空括号.一个具体的例子:我正在与现有的 Java代码连接,并创建一个实现名为EventResponder的接口的对象.我应该写:

val service = new EventResponder() {
  def respond(message: String): String = {
    return ""
  }
}

要么

val service = new EventResponder {
  def respond(message: String): String = {
    return ""
  }
}

(或者,顺便说一句,还有什么我应该改变的吗?)

两者似乎都有效,据我所知,Scala风格指南对此没有任何建议.它讨论了何时为方法或arity-0包含空括号,但这种情况并不完全相同.

解决方法

您可以使用它来区分Java世界中的类(空的parens)和接口(没有parens)或Scala世界中的类(空的parens)和特征(无parens).

您也可以类似于方法,区分具有副作用的实例化(空的parens)和没有(没有parens)的实例.虽然,我想,构造函数理想情况下应该没有副作用…

您还可以区分携带状态/可变(空白的parens)的对象和不可移动的对象(无parens).虽然,然而,这与案例类冲突,这些案例类应该是不可改变的但是不鼓励在这里不使用parens ……

如果可能的话,我个人倾向于把空的括号留下.两个字符少,可读性更强.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读