包和项目的命名约定

时间:2013-11-08 12:33:40

标签: scala naming-conventions

在SO中对此进行了讨论,但我仍然对该主题有疑问。所以,一个简单的问题:Scala项目的命名约定是什么?是“my_new_project”,“myNewProject”,“my-new-project”,“MyNewProject”还是“mynewproject”?和包裹一样的问题。

3 个答案:

答案 0 :(得分:5)

软件包遵循com.mycompany.myproject反向网址格式。项目名称没有命名约定。许多人更喜欢所有带有连字符的小写,例如scala-foo。我更喜欢像ScalaFoo那样的大写骆驼案例。这是一个品味问题。我没有看到scalaFoo作为项目名称约定,也没有使用下划线(我认为是C或Python风格?)


就像早期的Java一样,几乎每个项目都以J开头,有很多项目以scala开头。虽然我认为这对于移植现有库是有意义的,但我认为您可能不应该调用您的项目ScalaFooScFoo,而只需调用Foo,除非有特别的理由来突出显示事实上它是用Scala编写的。


您可以查看at the community libraries wiki来感知项目名称的品味。

答案 1 :(得分:2)

我不知道Scala中是否存在特定的项目命名约定,但通常使用Java约定,因此: - thisIsAVariable(除了第一个单词首字母大写又名camelCase) - ThisIsAClass(所有首字母大写又名PascalCase) - com.example.www(包裹的反向网址)

我已经看到了用Java命名项目的camelCase和PascalCase,但我更喜欢PascalCase!

答案 2 :(得分:1)

对于项目,我已经看到很多人经常使用my-new-projectMyNewProject。我个人更喜欢MyNewProject。我已经研究了很多您的问题,还没有找到任何有关项目名称的约定。我确实相信在GitHub上许多存储库都使用my-new-project,并且几乎看起来像是它们自己的存储库名称约定。

对于软件包,惯例是使用公司域名地址或个人域名地址,其所有小写字母均以相反的顺序使用:com.company.packagename

希望有帮助!

Brady