2011-05-05 79 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