我已经熟悉使用域名创建唯一包名(即包com.stackoverflow.widgets
)的标准Java包命名约定.但是,我从未见过有关如何为个人项目选择包名的任何建议.我想因为这是因为这真的是个人品味的问题.
那么,你如何选择永远不会投入生产的个人项目的包名(你可能在业余时间尝试新的框架).假设您没有可以用来创建包结构的个人网站,那么您(或将要)做什么?你有一个逻辑系统来为业余爱好项目生成新的包名,或者你只是使用简单的丢弃包名称mypackage
?
由于我只是想知道不同人的想法是什么,我已经把它变成了一个社区维基.
就我个人而言,我从来没有多想过,但我想今晚和Wicket一起玩,我想到我不清楚我是如何组织自己的爱好项目的.对于业余爱好项目(在我看来,至少),一个单独的,独特的包命名约定将成为保持个人和工作相关代码明显彼此分离的好方法.
我正在考虑一个简单的分层命名约定,以便将我的个人项目的源保存在单个根文件夹中:
使用myprojects
作为根文件夹
附加项目名称
添加任何其他子包名称
所以,我的Wicket项目将在包中myprojects.learningwicket
,单元测试将在包中myprojects.learningwicket.tests
(例如).
如果你只是做个人项目而没有其他人会使用这些代码,那么你可以组成一个你喜欢的包名.不化妆的东西,开头com.
或net.
或其他顶级域名,但因为这将意味着你自己的域名(即使用com.john
为您的包名,只是因为你的名字恰好是约翰是不是一个好主意) .
如果您要将代码提供给其他人,则应使用全局唯一的包名称,根据Java约定,您应该注册并使用域名.
我只是使用我的首字母:fg.nameofproject.etc
它减少了打字.它可以随时使用sf.net或com作为前缀.或组织.或com.google ..
由于这个项目是个性化的,所以它就像你刚刚压制的个性化礼品衬衫一样 - 它会感觉很好.
pmurray_at_bigpond_dot_com.project.package
呸.任何自尊的程序员都有自己的域名.这显然是一个棘手的问题.每个人都有自己的个人域名!:-)
好吧,说真的,购买自定义域名可能是最简单的选择.每年大约10美元,您可以找到信誉良好的提供商来托管域名和转发电子邮件.
我将大部分业余爱好项目存储在Google Code中,因此我只使用项目站点作为包名:com.googlecode.donkirkby.someproject
.