问题

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

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

由于我只是想知道不同人的想法是什么,我已经把它变成了一个社区维基。

就我个人而言,我从来没有多想过,但我想玩得很开心,我想到我不清楚我是如何组织自己的爱好项目的。对于业余爱好项目(在我看来,至少),一个单独的,独特的包命名约定将成为保持个人和工作相关代码彼此明显分离的好方法。

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

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

所以,我的Wicket项目将在packagemyprojects.learningwicket中,单元测试将在packagemyprojects.learningwicket.tests中(例如)。


#1 热门回答(46 赞)

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

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


#2 热门回答(21 赞)

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

它减少了打字。它可以随时使用sf.net或com加前缀。或组织。或com.google ..

由于这个项目是个性化的,所以它就像你刚刚压制的个性化礼品衬衫一样 - 它会感觉很好。


#3 热门回答(20 赞)

pmurray_at_bigpond_dot_com.project.package

原文链接