2011-05-05 83 views
1

当滚动java代码时,我一直坚持使用recommended convention<reversed domain name>.<internal naming convention>。通常这是非常稳固的,并防止命名冲突的任何问题。但是,当您处理“深度分支”组织时(例如cisb.justice.qld.gov.au),它会处于顶端。尤其是当你添加的内部约定,并像au.gov.qld.justice.cisb.comm.sony.pfm42v1.等最终“deep sub-domained”组织的命名规则

现在我假设我不是为昆士兰州政府工作的唯一程序员,同上同司法部所以简化到au.gov.qld.au.gov.qld.justice.都没有了。

其他人在类似情况下使用的一些约定是什么?

+0

我做了第一个包过去的域名,是,项目的名称。 – MeBigFatGuy 2011-05-05 03:00:14

回答

1

采取的方法是利用au.gov.qld.justice.duet.作为基础包。这符合java标准,并引用项目名称而不是内部部门名称,以防止将来出现部门名称混洗的任何问题。

0

嗯,是的,显然au.gov.justice已经不存在了,因为这不是你的域名的一部分。 au.gov.justice意味着联邦政府,而不是国家。

如果明显的选择对您来说太长,请考虑justice.qld.gov.aucourts.qld.gov.au

这是否可以取决于有多少其他人员为部门工作,结构如何,以及是否有任何策略,但可能是可以接受的,因为您仍然有项目名称来使包名称唯一。

这是您的部门中第一次出现此问题吗?也许别人已经选择了一个约定。

政府部门的另一个问题是他们经常更名。

您的部门是否更改名称?也许你应该坚持使用旧的名字,或者选择下一次名字改变时仍然有效的东西。

Java Language Specification提醒我们,命名空间的主要目的是确保包名是唯一的,所以只要你开始au.gov.qld包的名称,你可能有提供少量的灵活性,你采取措施,以确保该名称没有按与另一个政府部门发生冲突。

+0

是的,那些预编辑的软件包名称是一个拼写错误。 – 2011-05-05 03:13:21

0

我还没有听说过任何一般的约定来处理这个问题。

如果这是一个真正的问题,那么您需要与昆士兰州司法部的其他开发人员进行交谈,以找出公司特定的惯例。

公司信息系统部门(?)是否为昆士兰州司法部门制定IT政策?你难道不能对这个政策家伙说一句话,让他发一份备忘录吗? (是的,我知道......生活从来没有那么简单......但它可能值得一试。)

但坦率地说,cisb.justice.qld.gov.au并不是“过顶”。

+0

CISB!= IT,因此是未建立的包命名约定。这是针对一些控制系统的,因此部门范围的政策实施是不行的。 – 2011-05-05 04:05:29