我是使用Java EE编程Web应用程序的初学者。你如何命名你的软件包?程序包名称 - Java EE Web应用程序
我经常看到类似com.abc.commons的东西......有没有一种标准或常见的方法来做到这一点?
感谢seanizer,我该怎么用你的方法:com.mycompany.myproject.api
我是使用Java EE编程Web应用程序的初学者。你如何命名你的软件包?程序包名称 - Java EE Web应用程序
我经常看到类似com.abc.commons的东西......有没有一种标准或常见的方法来做到这一点?
感谢seanizer,我该怎么用你的方法:com.mycompany.myproject.api
这些部分通常进入我的包名
例如:
com.mycompany.myproject.api.services
// contains service interfaces for project myproject
com.mycompany.myproject.common.util.string
// contains string-related utility classes that reside in a library module
// that will be used by several other artifacts
一个很好的做法是拥有一个独立于个别项目(jar等)的通用根包。例如:在jar myproject-api.jar中,根包将是com.mycompany.myproject.api
。这样,你总是知道在哪里找到你的课程。
你怎么看待仅仅使用项目名称(这是唯一的)(比如'myproject.api.services' )而不是'com.mycompany.myproject.api.services'。我更喜欢这一点,因为这更具可读性,我认为,在每个包名称中包含公司名称/域名等是没有意义的。您对此有何看法?这背后是否有任何技术问题?非常感谢! – 2011-09-28 04:44:34
@Marcos不,我没有遇到任何技术问题,只为公司或组织提供公共包名称空间被认为是一种很好的做法。它可以更容易地将属于一组的内容进行分组 – 2011-09-28 06:42:20
是的,看到Sun Naming Conventions。
唯一包名称的前缀总是以全小写ASCII字母书写,并且应该是顶级域名之一,当前为com,edu,gov,mil,net,org,或者其中之一按照ISO标准3166,1981规定的英文双字母代码。
包名称的后续组件根据组织自身的内部命名约定而有所不同。这样的约定可能会指定某些目录名称组件是分区,部门,项目,机器或登录名。
实例:
- com.sun.eng
- com.apple.quicktime.v2
- edu.cmu.cs.bovik.cheese
的常规方式是做你自己的域名倒退,因为这是一个很好的保证,其他人不会不小心使用这些包名称。
我删除了'jee6'标签,因为问题不是特定于Java SDK或版本,而是添加了'naming-conventions'。 – 2010-07-14 08:41:04
这对你很好,但不是编辑你原来的帖子,好的stackoverflow的做法是将答案标记为可接受 – 2010-07-14 11:54:02