【发布时间】:2012-12-18 00:18:09
【问题描述】:
作为 Grails、Groovy 甚至 Java 的新手,我想知道为什么许多 Grails 开发人员使用诸如
之类的命名约定com.{projectName}.{className}
首先按 com 组织它们有什么意义(这甚至意味着什么?),然后是项目名称(当它已经在项目文件夹中时)?
【问题讨论】:
作为 Grails、Groovy 甚至 Java 的新手,我想知道为什么许多 Grails 开发人员使用诸如
之类的命名约定com.{projectName}.{className}
首先按 com 组织它们有什么意义(这甚至意味着什么?),然后是项目名称(当它已经在项目文件夹中时)?
【问题讨论】:
更多的是 Java 标准。见http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html
公司使用颠倒的 Internet 域名来开始他们的包名——例如,com.example.mypackage 表示由 example.com 的程序员创建的名为 mypackage 的包。
【讨论】:
在 Java 中,目的是让代码在不同公司有不同作者时可以很好地发挥作用。例如,我编写了一个具有用户概念的应用程序,并将其分配给默认包。我需要使用您的框架/库,并且它也具有分配给默认包的用户的概念。应该加载哪个用户以及何时使用?通过基于公司的反向域名打包,我们可以根据每个公司的定义和使用来组织User对象,我们的代码可以共存。
【讨论】: