代码之家  ›  专栏  ›  技术社区  ›  Joe Holloway

Scala库遵循相同的反向域约定,将包命名为Java吗?

  •  6
  • Joe Holloway  · 技术社区  · 16 年前

    我想写一个小的scala库来了解它的演员编程模型。

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

    Scala库是否可以使用与Java相同的包命名约定?更一般地说,有没有像python那样的好的scala编码风格建议 PEP 8 ?

    是的,可能是把马车放在马之前,但我发现,通过看到一些已经过时的惯例,我可以对一种语言有一种很好的感觉。

    谢谢

    2 回复  |  直到 16 年前
        1
  •  8
  •   Eddie    16 年前

    Lift Scala中的一个较大的项目使用了反转的域名约定,这实际上是有很多意义的,因为斯卡拉和Java可以互操作,这是合乎情理的,你希望尽可能地让事情变得无痛,而且我真的想不出做任何其他事情的任何有价值的好处。

        2
  •  2
  •   Daniel Spiewak    16 年前

    Scala基本上继承了大多数Java的约定(几乎在所有的事情中)。有一些例外。例如,scala“getter和setter”实际上是按以下方式完成的:

    class Person {
      private var _name: String = _
    
      def name = _name
    
      def name_=(s: String) {
        _name = s
      }
    }
    

    当有疑问时,借用JAVA、Ruby或Haskell的约定(按优先顺序)。对于包,答案是“是”,scala包是使用倒置的域约定命名的。