“Eclipse 平台”的命名约定与指南:
org.eclipse.ant[.*] — Ant 支持保留下列包名称段:
org.eclipse.compare[.*] — 比较支持
org.eclipse.core[.*] — 平台核心
org.eclipse.debug[.*] — 调试
org.eclipse.help[.*] — 帮助支持
org.eclipse.jdi[.*] —“Java 调试接口”(JDI)的 Eclipse 实现
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 — 正确用法其它有关“Eclipse 平台”结构的信息:“Eclipse 平台”分为核心和用户界面两部分。分类为“核心”的任何事项都是与窗口系统无关的;取决于“核心”而不是取决于用户界面的应用程序和插件可无序地运行。“核心”与用户界面之间的差别不同于 API 与非 API 之间的差别;“核心”和用户界面都包含 API。“Eclipse 平台”的用户界面部分称为“工作台”。“工作台”是一个高级用户界面框架,用于构建具有根据可插入组件构建的复杂用户界面的产品。“工作台”是在 JFace、SWT 和“平台核心”的基础上构建的。SWT(标准小窗口工具箱)是与本机窗口系统对话的与 操作系统平台无关的低级别方法。JFace 是中级用户界面框架,对于构建复杂的用户界面部分(如属性查看器)很有用。SWT 和 JFace 都定义为用户界面。Java tooling 是一个在工作台的基础上构建的 Java IDE。其它信息结束。
org.eclipse.internal.core.resources — 不正确。internal 位于主包名前面。
org.eclipse.core.resources.internal — 不正确。internal 未紧接在主包名后面。
API 包 API 包是包含必须为 ISV 可用的类和接口的包。API 包的名称对 ISV 来说必须是有意义的。ISV 需要记住的不同包的数目应不大,因为混淆 API 包可能会使得 ISV 很难知道要导入哪些包。在 API 包中,所有公共类和接口都被认为是 API。API 包的名称不应包含 internal、tests 或 examples 以免与命名非 API 包的方案混淆。
内部实现包 作为平台实现一部分但不包含任何应对 ISV 公开的 API 的所有包都被认为是内部实现包。应将所有实现包标记为 internal,而标记则出现在主包名的紧后面。将告知 ISV 标有 internal 的所有包都不包括在内。(对“.internal.”进行的简单文本搜索检测到源文件中有可疑引用;例如,“/internal/”在 .class 文件中就是有疑问的)。
测试套件包 应将包含测试套件的所有包标记为 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 的示例。
附加规则:
类名应是名词,大小写混合,内部每一个词的首字母大写。尽量使类名简单且具有描述性。使用完整的词 — 避免使用首字母缩略词和缩写词(除非该缩写词比长型格式的词使用广泛得多,如 URL 或 HTML)。对于接口名称,用“I”表示接口约定:所有接口名称加以“I”前辍。例如,“IWorkspace”或“IIndex”。此约定使接口名称更易于识别,从而有助于代码的易读性。(Microsoft COM 接口遵从此约定)。示例:
class Raster;
class ImageSprite;接口名称应象类名那样首字母大写。
附加规则:
方法应为动词,大小写混合,第一个字母小写,内部每个词的首字母大写。附加规则:示例:
run();
runFast();
getBackground();
除变量之外,所有实例、类和类常量都为大小写混合(而首字母小写)。内部的词首字母大写。变量名不应以下划线 _ 或美元符号 $ 开头,尽管两者都是允许的。(注意:不再遵循给非常量字段名加以“f”前辍(如“fWidget”)的约定。)变量名应是简短而有意义的。变量名的选择应起到助记作用 — 即它可指示其使用目的。除临时的“用后即弃”的变量外,应避免使用一个字符的变量名。临时变量的常见名称有:对于整数,有 i、j、k、m 和 n;对于字符,有 c、d 和 e。
示例:
int i;
char c;
float myWidth;
已声明类常量以及具有 ANSI 常量的变量的名称应为全大写,且各个词以下划线(“_”)分隔。示例:
static final int MIN_WIDTH = 4;
static final int MAX_WIDTH = 999;
static final int GET_THE_CPU = 1;
插件名称空间是分层管理的;在获得封装名称空间所有者的同意之前,不要创建插件。
具有多个扩展的扩展点应为复数名称。例如,应为“builders”而非“builder”。