我是使用Java EE編程Web應用程序的初學者。你如何命名你的軟件包?程序包名稱 - Java EE Web應用程序
我經常看到類似com.abc.commons的東西......有沒有一種標準或常見的方法來做到這一點?
感謝seanizer,我該怎麼用你的方法:com.mycompany.myproject.api
我是使用Java EE編程Web應用程序的初學者。你如何命名你的軟件包?程序包名稱 - Java EE Web應用程序
我經常看到類似com.abc.commons的東西......有沒有一種標準或常見的方法來做到這一點?
感謝seanizer,我該怎麼用你的方法:com.mycompany.myproject.api
這些部分通常進入我的包名
例如:
com.mycompany.myproject.api.services
// contains service interfaces for project myproject
com.mycompany.myproject.common.util.string
// contains string-related utility classes that reside in a library module
// that will be used by several other artifacts
一個很好的做法是擁有一個獨立於個別項目(jar等)的通用根包。例如:在jar myproject-api.jar中,根包將是com.mycompany.myproject.api
。這樣,你總是知道在哪裏找到你的課程。
你怎麼看待僅僅使用項目名稱(這是唯一的)(比如'myproject.api.services' )而不是'com.mycompany.myproject.api.services'。我更喜歡這一點,因爲這更具可讀性,我認爲,在每個包名稱中包含公司名稱/域名等是沒有意義的。您對此有何看法?這背後是否有任何技術問題?非常感謝! – 2011-09-28 04:44:34
@Marcos不,我沒有遇到任何技術問題,只爲公司或組織提供公共包名稱空間被認爲是一種很好的做法。它可以更容易地將屬於一組的內容進行分組 – 2011-09-28 06:42:20
是的,看到Sun Naming Conventions。
唯一包名稱的前綴總是以全小寫ASCII字母書寫,並且應該是頂級域名之一,當前爲com,edu,gov,mil,net,org,或者其中之一按照ISO標準3166,1981規定的英文雙字母代碼。
包名稱的後續組件根據組織自身的內部命名約定而有所不同。這樣的約定可能會指定某些目錄名稱組件是分區,部門,項目,機器或登錄名。
實例:
- com.sun.eng
- com.apple.quicktime.v2
- edu.cmu.cs.bovik.cheese
的常規方式是做你自己的域名倒退,因爲這是一個很好的保證,其他人不會不小心使用這些包名稱。
我刪除了'jee6'標籤,因爲問題不是特定於Java SDK或版本,而是添加了'naming-conventions'。 – 2010-07-14 08:41:04
這對你很好,但不是編輯你原來的帖子,好的stackoverflow的做法是將答案標記爲可接受 – 2010-07-14 11:54:02