如果只是通过省略元音字母来缩短名称,那就应该看看原来的名称是否合适。查看规则
11。
13.缩短词的第一个字母大写
此规则是为了消除使用大写字母划分单词时可能产生的混淆,特别是在两个缩写词连续
出现的时候。
setDSTOffset() setDstOffset()
loadXMLDocument() loadXmlDocument()
以下情况不适用这条规则:
缩写词作为常量名出现时,全部用大写:
static final String XML_DOCUMENT = “text/XML”;
缩写词出现在方法、变量或者参数名字最开始处时,应该采用小写(参见规则 22 和规则
25):
private Document xmlDocument;
14.不要使用只依赖大小写来区分的名字
Java 编译器可以区分那些有大小写不同的名字,但是人在阅读的时候很可能注意不到这
种差别。
比如,theSQLINPUTStream 变量与 theSqlInputStream 变量不应该出现在同一个作用域
中。从阅读并理解代码的角度来看,两个名字如果出现在同一作用域会彼此干扰。
3.1 包命名
15.用你所在组织的域名的倒序小写形式作为包名字的根限定词
发布给其他组织的所有包都要包含软件编写组织的倒序小写形式的域名。例如,一个公
司名为 ROGUE WAVE SOFTWARE,域名为 roguewave.com,发布了一款名为 server 的服务器
应用程序,那么 RogueWave 公司会将该包命名为 com.roguewave.server.
(SUN 公司限制使用 java 和 javax 作为包限定词。)
16.使用单独的小写词作为每个包的根名
包名里必须包含一个单独的小写词,能够清晰体现包的用途,这样的命名才算合格。包
名也可以包含一个有实际意义的缩写,如 Java 标准包里的 JAVA。IO 和 java.net 的缩写名。
17.仅当新旧版本二进制兼容的时候,其包可以使用相同的名字,否则,请
使用新名字。
此规则将确保两个具有相同限定名的 Java 类相互二进制兼容且行为兼容。
Java 执行模型在运行时将一个类的客户绑定在此类的实现上。这意味着,除非采用此规
范,否则将无法保证应用程序正使用着一版本的软件——在开发应用程序时使用且测试过软
件。
(如果新版本的包不是二进制兼容或行为兼容的,那么要将包改名。改名的方法有很多,
最简单也是最安全的方法就是在包名后面加上一个版本号,并且每次有不兼容的改动时升级
版本号。)
com.roguewave.servver.v1
com.roguewave.servver.v2
这种方法的不足之处在于,包的客户端及包特定的实现之间的依赖关系很难被硬编码到
客户端的代码中。包的客户端只能通过修改客户端的代码与新版本的包捆绑在一起。
3.2 类型命名
18.类和接口名中的每个单词的第一个字母大写