一尘不染

您对Java中的个人/爱好项目使用什么程序包命名约定?

java

我已经熟悉使用域名创建唯一的包名称(即package
com.stackoverflow.widgets)的标准Java包命名约定。但是,对于如何为个人项目选择程序包名称,我从未见过任何建议。我认为是因为这确实是个人喜好问题。

因此,如何为永远不会投入生产的个人项目选择软件包名称(您可能会在业余时间尝试使用新框架)。假设您没有个人网站,可以使用其域来创建您的包裹结构,您将(或将要)做什么?您是否有一个逻辑系统可以为爱好项目生成新的程序包名称,还是仅使用简单的一次性程序包名称mypackage

由于我只是想知道人们对此有何不同的想法,因此我将其设为社区Wiki。

就我个人而言,我从来没有想过,但是我想今晚与Wicket一起玩耍,结果发现我对如何组织自己的业余项目并不清楚。对于爱好项目,至少有一个单独的,不同的软件包命名约定(至少在我看来是这样),将是使个人代码和与工作相关的代码清晰区分的一种好方法。

我在考虑一个简单的层次命名约定,以将个人项目的源代码保存在单个根文件夹中:

  • 使用myprojects作为根文件夹
  • 追加项目名称
  • 添加任何其他子包名称

因此,我的Wicket项目将在软件包中,myprojects.learningwicket而单元测试将在软件包中myprojects.learningwicket.tests(例如)。


阅读 184

收藏
2020-09-08

共1个答案

一尘不染

如果您只是在做个人项目,没有其他人可以使用该代码,那么您可以组成自己喜欢的程序包名称。但是,不要组成以com.net.或其他顶级域名开头的内容,因为这暗示您拥有该域名(即,com.john仅因为您的名字恰好是John才用作包名)不是一个好主意。

如果要将代码提供给其他任何人,则应使用全局唯一的软件包名称,根据Java约定,这意味着您应该注册并使用域名。

2020-09-08