为“深度子行为”的组织命名

时间:2011-05-05 02:51:04

标签: java naming-conventions package

滚动java代码时,我总是坚持<reversed domain name>.<internal naming convention> cisb.justice.qld.gov.au。通常这是非常可靠的,并防止命名冲突的任何问题。但是,当你处理“深度次要的”组织时 - 例如au.gov.qld.justice.cisb.comm.sony.pfm42v1. - 它会有点过头了。特别是当您添加内部约定并最终使用au.gov.qld.

之类的内容时

现在我假设我不是唯一为昆士兰州政府工作的程序员,与司法部同样如此简化到au.gov.qld.justice.和{{1}}。

其他人在类似情况下使用过哪些约定?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

这是否正常将取决于其他人为该部门工作的人数,结构如何,以及是否有任何政策,但这可能是可以接受的,因为您仍然拥有项目名称以使包名称唯一。

这是您的部门第一次出现此问题吗?也许其他人已经选择了一个会议。

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

你的部门刚刚改名吗?也许你应该坚持使用旧名称,或者在下次名称更改时选择一些可能仍然有用的东西。

Java Language Specification提醒我们,命名空间的主要目的是确保包名称是唯一的,因此如果您使用au.gov.qld启动包名称,那么您可能会有一点灵活性采取措施确保名称不与其他政府部门发生冲突。

答案 2 :(得分:0)

我没有听说过处理这个问题的一般惯例。

如果这是一个真正的问题,那么您需要与Queensland Justice内的其他开发人员讨论,以找出公司特定的惯例。

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

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