Java中的个人/业余爱好项目使用什么包命名约定?

2022-08-31 07:34:33

我已经熟悉使用域名创建唯一包名称(即包)的标准Java包命名约定。但是,我从未见过有关如何为个人项目选择包名称的任何建议。我假设这是因为这真的是个人品味的问题。com.stackoverflow.widgets

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

由于我只是好奇地想看看不同的人对此有何看法,所以我把它变成了一个社区维基。

就我个人而言,我从来没有考虑过这个问题,但今晚我想玩一下Wicket,我突然想到,我对如何组织我的爱好项目没有一个清晰的想法。为业余爱好项目(至少在我看来)使用一个单独的、不同的包命名约定,可以作为保持个人和工作相关代码彼此明确分离的好方法。

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

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

因此,我的 Wicket 项目将位于包中,单元测试将位于包中(例如)。myprojects.learningwicketmyprojects.learningwicket.tests


答案 1

如果你只是在做个人项目,而其他人不会使用代码,那么你可以编造一个你喜欢的包名称。不要编造以 或 或其他顶级域名开头的东西,因为这意味着你拥有域名(即,仅仅因为你的名字恰好是 John 而用作你的软件包名称不是一个好主意)。com.net.com.john

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


答案 2

我只使用我的名字首字母:fg.nameofproject.etc

它减少了打字。它可以随时以 sf.net 或 com.或 org. 或 com.google. 作为前缀。

由于该项目是个人的,因此请像您新压的个性化礼品衬衫一样特别对待它 - 它会感觉良好。