6

我正在寻找编写一个小型 Scala 库来了解它的 Actor 编程模型。

在我遇到的示例代码中,一些库使用反向域(例如 org.foo.bar)作为包,而另一些则没有(可能只是为了简洁)。

Scala 库是否建议使用与 Java 相同的包命名约定?更一般地说,是否有任何好的 Scala 编码风格建议,比如 Python 对PEP 8的建议?

是的,可能是本末倒置,但我发现通过看到一些已经动摇的约定,我可以对一门语言有一种不错的感觉。

谢谢

4

2 回答 2

8

Lift是 Scala 中较大的项目之一,它使用倒置的域名约定,这实际上很有意义,因为 Scala 和 Java 可以互操作,因此您希望尽可能地让事情变得轻松,这是理所当然的,我真的想不出任何其他方式的任何有价值的优势。

于 2009-04-21T22:42:36.610 回答
2

Scala 基本上继承了 Java 的大部分约定(几乎在所有方面)。有几个例外。例如,Scala“getter and setter”实际上是通过以下方式完成的:

class Person {
  private var _name: String = _

  def name = _name

  def name_=(s: String) {
    _name = s
  }
}

如有疑问,请借鉴 Java、Ruby 或 Haskell 的约定(按优先顺序)。关于包,答案是“是”,Scala 包是使用倒置域约定命名的。

于 2009-04-21T23:44:50.113 回答