我已经熟悉使用域名创建唯一的包名称(即package com.stackoverflow.widgets)的标准Java包命名约定。但是,对于如何为个人项目选择程序包名称,我从未见过任何建议。我认为是因为这确实是个人喜好问题。
com.stackoverflow.widgets
因此,如何为永远不会投入生产的个人项目选择软件包名称(您可能会在业余时间尝试使用新框架)。假设您没有个人网站,可以使用其域来创建您的包裹结构,您将(或将要)做什么?您是否有一个逻辑系统可以为爱好项目生成新的程序包名称,还是仅使用简单的一次性程序包名称mypackage?
mypackage
由于我只是想知道人们对此有何不同的想法,因此我将其设为社区Wiki。
就我个人而言,我从来没有想过,但是我想今晚与Wicket一起玩耍,结果发现我对如何组织自己的业余项目并不清楚。对于爱好项目,至少有一个单独的,不同的软件包命名约定(至少在我看来是这样),将是使个人代码和与工作相关的代码清晰区分的一种好方法。
我在考虑一个简单的层次命名约定,以将个人项目的源代码保存在单个根文件夹中:
myprojects
因此,我的Wicket项目将在软件包中,myprojects.learningwicket而单元测试将在软件包中myprojects.learningwicket.tests(例如)。
myprojects.learningwicket
myprojects.learningwicket.tests
如果您只是在做个人项目,没有其他人可以使用该代码,那么您可以组成自己喜欢的程序包名称。但是,不要组成以com.或net.或其他顶级域名开头的内容,因为这暗示您拥有该域名(即,com.john仅因为您的名字恰好是John才用作包名)不是一个好主意。 。
com.
net.
com.john
如果要将代码提供给其他任何人,则应使用全局唯一的软件包名称,根据Java约定,这意味着您应该注册并使用域名。