我正在寻找编写一个小型 Scala 库来了解它的 Actor 编程模型。
在我遇到的示例代码中,一些库使用反向域(例如 org.foo.bar)作为包,而另一些则没有(可能只是为了简洁)。
Scala 库是否建议使用与 Java 相同的包命名约定?更一般地说,是否有任何好的 Scala 编码风格建议,比如 Python 对PEP 8的建议?
是的,可能是本末倒置,但我发现通过看到一些已经动摇的约定,我可以对一门语言有一种不错的感觉。
谢谢
我正在寻找编写一个小型 Scala 库来了解它的 Actor 编程模型。
在我遇到的示例代码中,一些库使用反向域(例如 org.foo.bar)作为包,而另一些则没有(可能只是为了简洁)。
Scala 库是否建议使用与 Java 相同的包命名约定?更一般地说,是否有任何好的 Scala 编码风格建议,比如 Python 对PEP 8的建议?
是的,可能是本末倒置,但我发现通过看到一些已经动摇的约定,我可以对一门语言有一种不错的感觉。
谢谢
Lift是 Scala 中较大的项目之一,它使用倒置的域名约定,这实际上很有意义,因为 Scala 和 Java 可以互操作,因此您希望尽可能地让事情变得轻松,这是理所当然的,我真的想不出任何其他方式的任何有价值的优势。
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 包是使用倒置域约定命名的。