Используют ли библиотеки Scala то же соглашение о инвертированном домене для именования пакетов, что и в Java? - PullRequest
6 голосов
/ 22 апреля 2009

Я хочу написать небольшую библиотеку Scala, чтобы понять ее модель программирования Actor.

В примере кода, с которым я столкнулся, некоторые библиотеки используют инвертированный домен (например, org.foo.bar) для пакетов, а некоторые нет (возможно, просто для краткости).

Желательно ли библиотекам Scala использовать те же соглашения об именах пакетов, что и в Java? В более общем смысле, есть ли хорошие предложения по стилю кодирования Scala, как у Python с PEP 8 ?

Да, возможно, ставить телегу перед лошадью, но я нахожу, что могу прилично почувствовать язык, также увидев некоторые условности, которые вытряхнули.

Спасибо

Ответы [ 2 ]

8 голосов
/ 22 апреля 2009

Lift , один из крупных проектов в Scala, использует соглашение об инвертированных доменных именах, что на самом деле имеет большой смысл, так как Scala и Java могут взаимодействовать, это понятно, почему вы захотите сделайте вещи максимально безболезненными, и я действительно не могу придумать каких-либо значительных преимуществ, если вы сделаете это каким-либо другим способом.

2 голосов
/ 22 апреля 2009

Scala в основном наследует большинство соглашений Java (почти во всем). Есть несколько исключений из этого. Например, «геттеры и сеттеры» Scala на самом деле выполняются следующим образом:

class Person {
  private var _name: String = _

  def name = _name

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

В случае сомнений заимствуйте соглашение из Java, Ruby или Haskell (в таком порядке предпочтений). Что касается пакетов, ответ «да», пакеты Scala именуются с использованием соглашения об обратном домене.

...