垃圾的Java包名规范!

2019年7月21日

Java或Android包名,按照传统,写成反转的域名形式。网上对这种写法的好处说得头头是道,但其实是有问题的。

“包名约定是避免冲突”
“Sun 推荐的避免包名冲突方法:把开发组织的域名倒过来写。”[1]

那个人没有域名怎么办?有的人说用personal.gqqnbig[2](这个合理的问题还被stackexchange的傻逼们关闭了),但是我如果下次注册了一个域名,是不是就要改用域名作包名了?那我两次开发的软件,包名不同,是不是就不一致了,别人是不是会被搞混了?

还有人说包名要从大到小排列。如果展开一个jar文件,会看到com、org、net,再展开,一层层的,很好看[3]。你喜欢层次,那为什么不银河系.太阳系.地球.美洲.com.apple,这层次不也很清晰吗?为什么第一层是com,而不是美洲,或直接是apple?所以层次一层层的理由,不堪一击。

我使用的命名空间,一直是gqqnbig,就这样,没有什么com、personal。简洁!

所以Java有很多过时、奇怪的规范,标准命令空间里还有些方法不一致。垃圾!

参考资料

  1. . 为什么android的package name的名字一般以com.开头?. 知乎. [2019-07-21].
  2. . What should I use for a package name if I don't have a domain? . . 2012-12-03 [2019-07-21].
  3. Scott Stanchfield. Do you really use your reverse domain for package naming in java?. . 2008-10-09 [2019-07-21].