2008-10-16 104 views

回答

68

您可以關注maven的standard project layout。您不必實際使用maven,但它將使轉換更容易(如有必要)。此外,其他開發商將習慣於看到的佈局,因爲許多開源項目奠定了這種方式,

+2

如果您有選擇,我也推薦使用Maven的佈局。這是一個深思熟慮的結構,經過了戰鬥測試,並且很多開發人員都很熟悉。 – 2008-10-17 04:46:54

+13

您可以使用此鏈接創建目錄佈局:mkdir -p src/{main/{java,resources,filters,assembly,config,webapp},test/{java,resources,filters},site} – 2010-02-19 13:41:52

+0

Maven的標準項目佈局是醜陋的......:/ – 2016-09-09 21:06:44

51

有一些現有的資源,你可以檢查:

  1. Properly Package Your Java Classes
  2. Spring 2.5 Architecture
  3. Java Tutorial - Naming a Package
  4. SUN Naming Conventions

對於它的價值,我傾向於使用的我自己的個人指南如下:

  1. 從反向域開始,例如, 「com.mycompany」。
  2. 使用產品名稱,例如「myProduct的」。在某些情況下,我傾向於使用不屬於特定產品的普通包裝。這些將最終根據這些通用類別的功能進行分類,例如, 「io」,「util」,「ui」等。
  3. 之後它變得更自由形式。通常我根據項目,功能區域,部署等進行分組。例如,我可能會有「project1」,「project2」,「ui」,「client」等。

其他幾點:

  1. 在我從事設計文檔的包名工作的項目中很常見。通常產品已經分成功能區或功能區。
  2. 不要過分強調將常用功能推入更高級的包中。等待那裏需要跨項目,產品等,然後重構。
  3. 觀察軟件包間依賴關係。它們並不全是壞的,但它可能意味着可能是單獨的單元之間的緊密耦合。有些工具可以幫助您跟蹤這一點。
+1

在反向域名的情況下(「com.mycompany」),除了「mycompany」子包外,「com」包通常是空的嗎? – Josephus 2016-02-10 21:16:14

1

的方式,我通常有我的文件夾 -

  • 項目名稱
    • SRC
    • 測試層次
    • 文檔
4

Here你可以閱讀有關標準目錄佈局和java項目的目錄/包結構。

3

我通常喜歡有以下幾種:

  • 斌(二進制)
  • 文檔(文檔)
  • INF(信息)
  • lib(庫)
  • res(資源)
  • SRC(來源)
  • TST(測試)

這些可視爲不符合常規,但我覺得這是組織的事情非常好的方式。