在同一个编译单元中声明两个类

时间:2017-03-18 17:58:38

标签: scala class

我对Scala很陌生,想问一下约定。我有以下课程:

case class Cltn(msgs: Seq[Msg])
case class Msg(value: Int)

在同一个编译单元中定义这些类是否常见?或者这不是传统的,我们应该在不同的中定义它们?我来自Java,这就是为什么我会问这个问题。

如果我们可以在同一个编译单元中定义它们,我们可以选择与CltnMsg不同的此单元的名称,还是这不是常规的?与Parameters.scala

一样

1 个答案:

答案 0 :(得分:1)

在Scala中以idiomatic为每个文件分组多个(case)类。让它们扩展共同的sealed trait也很常见,在这种情况下,必须一起定义。

至于命名惯例,我已经看到了两种不同的方法:

  • 将包含最重要类名称的文件命名为contains(CamelCase)

  • 使用逻辑概念的小写名称将这些内容组合在一起。

在你的情况下,看起来第二种选择更合适,我会选择parameters.scala