Eclipse 平台
命名慣例

最近修訂的日期 June 24, 2002 - version for Eclipse project R2.0

Eclipse 平台的命名慣例和準則:

Java 套件

Eclipse 平台由 Java 套件的集合組成。 套件名稱空間的管理方式符合 Sun 的套件命名準則的標準;如果沒有經過套件子樹狀結構擁有者的事先核准,就不應建立子套件。 Eclipse 平台的套件是所有子套件 org.eclipse。 在 org.eclipse 之後的第一個套件名稱元件稱為主要套件名稱。 org.eclipse 的下列主要套件是在 Eclipse 版本 2.0 中指派的:
org.eclipse.ant[.*] - Ant 支援
org.eclipse.compare[.*] - 比較支援
org.eclipse.core[.*] - 平台核心
org.eclipse.debug[.*] - 除錯
org.eclipse.help[.*] - 說明支援
org.eclipse.jdi[.*] - Eclipse 的 Java 除錯介面(JDI)實作
org.eclipse.jdt[.*] - Java 開發工具
org.eclipse.jface[.*] - JFace
org.eclipse.pde[.*] - 外掛程式開發環境
org.eclipse.search[.*] - 搜尋支援
org.eclipse.swt[.*] - 標準小組件工具箱
org.eclipse.team[.*] - 團隊支援和版本與配置管理
org.eclipse.tomcat[.*] - Apache tomcat 支援
org.eclipse.ui[.*] - 工作台
org.eclipse.update[.*] - 更新/安裝
org.eclipse.webdav[.*] - WebDAV 支援
以下是保留的套件名稱區段:
internal - 表示不含任何 API 的內部實作套件
tests - 表示只含有測試套組的非 API 套件
examples - 表示只含有範例的非 API 套件
這些名稱用來作為限定元,只能出現在主要套件名稱之後。例如,
org.eclipse.core.internal.resources - 正確用法
org.eclipse.internal.core.resources - 不正確。主要套件名稱前面有 internal
org.eclipse.core.resources.internal - 不正確。在主要套件名稱之後,沒有緊接著 internal
Eclipse 平台結構方式附註:Eclipse 平台可分成核心UI 兩部分。 任何分類為「核心」者都獨立於視窗系統之外;相依於核心而未相依於 UI 的應用程式和外掛程式則可以「獨立執行」。 核心和 UI 的區分不能類比 API 和非 API 的區分;核心和 UI 都可以含有 API。 Eclipse 平台的 UI 部分稱為工作台。 工作台是利用從可外掛的元件建立起的複雜 UI 來建立產品的高階 UI 組織架構。 工作台建立在 JFace、SWT 和平台核心之上。 SWT(標準小組件工具箱)是與原生視窗系統交談的低階且無關於特定 OS 平台的方法。 JFace 是中間層的 UI 組織架構,用來建置複雜的 UI 片段,如內容檢視器。 依定義,SWT 和 JFace 都是 UI。 Java 工具是建立在工作台上的 Java IDE。

API 套件 API 套件是含有 ISV 必須能夠使用的類別和介面的套件。 API 套件的名稱必須對 ISV 有意義。 ISV 必須記住的不同套件數目應該要小一些,因為太多 API 套件會使 ISV 很難知道要匯入哪些套件。 在 API 套件內,所有 public 類別和介面都可視為 API。 API 套件的名稱不應含有 internaltestsexamples,以免與非 API 套件的命名設計相混淆。

內部實作套件本身是平台實作的一部分但不含任何應該外曝於 ISV 的 API 之所有套件,算是內部實作套件。 所有實作套件都應該有 internal 旗標,且標示會緊接在主要套件名稱之後。 ISV 會被告知所有標示為 internal 套件都不在範圍內。 (以簡單的文字搜尋來搜尋 ".internal." 時,會在程式檔中偵測到可疑的參照;同樣地,在 .class 檔中,"/internal/" 也是可疑的)。

含測試套組的套件所有包含測試套組的套件都應該有 tests 旗標,且標示會緊接在主要套件名稱之後。 完整的自動化測試是規範基準;因此,像 org.eclipse.core.tests.resources 就會在 org.eclipse.core.resources 中含有 API 的自動化測試。 交談式測試(需要上機測試人員)應該有以 interactive最後一個套件名稱區段的旗標; 因此,像 org.eclipse.core.tests.resources.interactive 就會含有對應的交談式測試。

範例套件所有包含出貨給 ISV 之範例的套件都應該有 examples 旗標,且標示會緊接在主要套件名稱之後。 例如,org.eclipse.swt.examples 會含有如何使用 SWT API 的範例。

其他規則:

類別和介面

Sun 的命名準則狀態

類別名稱應該是名詞,大小寫混合,每個內部單字的第一個字母都是大寫。 請讓類別名稱簡單及具有描述性。 使用完整單字 - 避免字首語和縮寫(除非是縮寫比長格式通用的情況,如 URL 或 HTML)
 
範例:
    class Raster;
    class ImageSprite;
 
介面名稱的大小寫應該如同類別。

我們的介面名稱慣例是以 "I" 代表介面:所有介面名稱字首都是 "I"。 例如,IWorkspace" 或 "IIndex"。 這個慣例使介面名稱更容易辨認,可增加程式碼的可閱讀性。 (Microsoft COM 介面接受這個慣例)。

其他規則:

方法

Sun 的命名準則狀態

方法應該是動詞,大小寫混合,第一個字母小寫,每個內部單字的第一個字母是大寫。
 
範例:
    run();
    runFast();
    getBackground();
其他規則:

變數

Sun 的命名準則狀態

除了變數之外,所有實例、類別和類別常數都是大小寫混合,且第一個字母為小寫。 內部單字開始於大寫字母。 變數名稱不應開始於底線 _ 或錢幣符號 $ 等字元,即使這兩者是允許使用的。
 
變數名稱應該要短,但有意義。 變數名稱的選擇應該要有助記憶 - 也就是說,臨時見到它的人也能瞭解其使用意圖。 除非是暫時性「隨用隨丟」的變數,否則,應該避免使用單字元的變數名稱。 常見的暫時變數名稱有 ijkm,以及代表整數的 n;代表字元的 cde
 
範例:
    int i;
    char c;
    float myWidth;

(附註:我們已不再遵循在非常數欄位名稱前面加上 "f" 的慣例,如 "fWidget"。)

常數

Sun 的命名準則狀態

宣告類別常數的變數名稱及 ANSI 常數的名稱應該全為大寫,且用底線 ("_") 來分開每個單字。
 
範例:
    static final int MIN_WIDTH = 4;
    static final int MAX_WIDTH = 999;
    static final int GET_THE_CPU = 1;

外掛程式和延伸點

所有外掛程式,包括本身是 Eclipse 平台一部分的外掛程式,例如資源和工作台外掛程式,在 Java 套件的相同命名型樣之後,都必須有唯一 ID。 例如,工作台外掛程式的名稱是 org.eclipse.ui[.*]

外掛程式名稱空間以階層方式來管理;如果沒有含括名稱空間的擁有者事先核准,就無法建立。

預期有多個延伸的延伸點應該有複數名稱。 例如,使用 "builders",而不用 "builder"。