Java编码规范(命名规则).
java中的命名规则和具体要求

java中的命名规则和具体要求
在Java中,命名规则和具体要求有以下几点:
1. 标识符的命名规则:
- 可以由字母、数字、下划线和美元符号组成。
- 第一个字符必须是字母、下划线或美元符号。
- 标识符不能是Java的关键字,例如if、for、class等。
2. 标识符的命名规范:
- 使用驼峰命名法(Camel Case):除了第一个单词的首字母小写外,其余单词的首字母大写。
- 标识符要有意义,能够清晰地表达其用途。
- 标识符不宜过长,一般不超过15个字符。
3. 包名的命名规范:
- 同样使用驼峰命名法。
- 包名应该是全小写字母。
- 包名应该与域名反向相对应,例如com.example。
4. 类名的命名规范:
- 使用驼峰命名法。
- 类名的第一个字母应该大写。
- 类名应该是名词或名词短语。
5. 方法名的命名规范:
- 使用驼峰命名法。
- 方法名的第一个字母应该小写。
- 方法名应该是动词或动词短语。
6. 常量名的命名规范:
- 使用全大写字母。
- 多个单词之间用下划线分隔。
- 常量名应该是名词或名词短语。
需要注意的是,虽然Java中对变量名的长度没有明确限制,但为了提高代码的可读性,应尽量避免使用过长的变量名。
另外,根据Java编码规范,建议使用英文命名,不要使用中文或其他非英文字符。
java编码规则

java编码规则(最新版)目录1.Java 编码规范简介2.Java 编码的基本规则3.Java 编码的进阶规则4.Java 编码的特殊规则5.Java 编码规范的实际应用正文【Java 编码规范简介】Java 编码规范,是指在编写 Java 程序时遵循的一种编码风格和规则。
遵循 Java 编码规范,可以提高代码的可读性、可维护性和可扩展性,从而提高软件开发的效率和质量。
【Java 编码的基本规则】1.遵循统一的编码风格:整个项目或团队应该遵循统一的编码风格,如缩进、空格、换行等。
2.使用有意义的命名:变量、方法、类等命名应该具有明确、简洁、描述性强的特点。
3.合理使用注释:对于复杂的代码、算法等,应该使用注释进行解释说明,提高代码的可读性。
4.遵循面向对象编程原则:尽量使用封装、继承、多态等面向对象编程原则,提高代码的可扩展性和可维护性。
【Java 编码的进阶规则】1.遵循接口隔离原则:不应该强迫客户端依赖于它们不使用的方法,应该尽量减少非抽象类和接口中的方法数量。
2.遵循依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
3.遵循单一职责原则:类应该有明确的职责,应该只有一个原因改变。
【Java 编码的特殊规则】1.异常处理:应该正确处理异常,避免出现未处理的异常。
2.集合使用:应该正确使用集合,避免出现空指针、越界等错误。
3.多线程编程:应该正确使用多线程编程,避免出现死锁、资源竞争等问题。
【Java 编码规范的实际应用】遵循 Java 编码规范,不仅可以提高代码的质量,还可以提高团队的开发效率,降低维护成本。
Java编程规范总结

Java编程规范总结命名:1. 为包、类、⽅法、变量取⼀个好名字,使代码易于理解2. 禁⽌使⽤魔⿁数字3. 常量命名,由全⼤写单词组成,单词间⽤下划线分隔,且使⽤ static final修饰4. 变量、属性命名,使⽤名词,并采⽤⾸字母⼩写的驼峰命名法5. ⽅法的命名,⽤动词和动宾结构,并采⽤⾸字母⼩写的驼峰命名法6. 类和接⼝的命名,采⽤⾸字母⼤写的驼峰命名法7. 包的命名,由⼀个或若⼲个单词组成,所有的字母均为⼩写8. 数组声明的时候使⽤ int[] index,⽽不要使⽤ int index[]注释:1. 尽量⽤代码来解释⾃⼰2. 注释应解释代码的意图,⽽不是描述代码怎么做的3. 保证注释与代码⼀致,避免产⽣误导4. 注释应与其描述代码位置相邻,放在所注释代码上⽅或右⽅,并与代码采⽤同样缩进5. 不要⽤注释保留废弃代码6. 不要⽤注释记录修改⽇志7. ⼀般单⾏注释⽤//,块注释⽤,JavaDoc注释⽤排版:1. 团队应遵守⼀致的排版风格2. 将排版风格固化到IDE的代码格式化配置⽂件中,并让整个团队使⽤3. 在不同的概念之间,增加空⾏4. 将逻辑紧密相关的代码放在⼀起5. 控制⼀⾏的宽度,不要超过120个字符6. 在不同的概念间(关键字、变量、操作符等)增加空格,以便清楚区分概念7. 采⽤缩进来区分不同层次的概念8. 将局部变量的作⽤域最⼩化9. 给if、for、do、while、switch等语句的执⾏体加⼤括号{}10. 控制⽂件的长度,最好不要超过500⾏变量和类型:1. 谨慎使⽤静态成员变量2. 避免随意进⾏类型强制转换,应改善设计,或在转换前⽤instanceof进⾏判断33. 需要精确计算时不要使⽤float和double4. 不能⽤浮点数作为循环变量5. 浮点型数据判断相等不能直接使⽤==6. 避免同⼀个局部变量在前后表达不同的含义7. 不要在单个的表达式中对相同的变量赋值超过⼀次8. 基本类型优于包装类型,注意合理使⽤包装类型⽅法:1. ⽅法设计的第⼀原则是要短⼩2. ⽅法设计应遵循单⼀职责原则(SRP),⼀个⽅法仅完成⼀个功能3. ⽅法设计应遵循单⼀抽象层次原则(SLAP)4. ⽅法设计应遵循命令与查询职责分离原则(CQRS)5. 不要把⽅法的⼊参当做⼯作变量/临时变量,除⾮特别需要6. 使⽤类名调⽤静态⽅法,⽽不要使⽤实例或表达式来调⽤7. 应明确规定对接⼝⽅法参数的合法性检查由调⽤者负责还是由接⼝⽅法本⾝负责8. ⽅法的参数个数不宜过多9. 谨慎使⽤可变数量参数的⽅法包、类和接⼝:1. 类和接⼝的设计应遵循⾯向对象SOLID设计原则2. 类的设计应遵循迪⽶特法则3. 类的设计应遵循“Tell,Don't ask”原则4. 类设计时优选组合⽽不是继承5. 除提供给外部使⽤的全局常量外,应尽量避免类成员变量被外部直接访问6. 避免在⽆关的变量或⽆关的概念之间重⽤名字,避免隐藏(hide)、遮蔽(shadow)和遮掩(obscure)7. 覆写(override)——⼦类与⽗类间8. 重载(overload)——类内部9. 隐藏(hide)——⼦类与⽗类间10. 遮蔽(shadow)——类内部11. 遮掩(obscure)——类内部12. 不要在⽗类的构造⽅法中调⽤可能被⼦类覆写的⽅法13. 覆写equals⽅法时,应同时覆写hashCode⽅法14. ⼦类覆写⽗类⽅法时应加上@Override注解15. 接⼝定义中去掉多余的修饰词16. 设计时,考虑类的可变性最⼩化异常:1. 只针对真正异常的情况才使⽤exception机制2. 在抛出异常的细节信息中,应包含能捕获失败的信息3. 对可恢复的情况使⽤受检异常(checked exception),对编程错误使⽤运⾏时异常(runtime exception)4. 不要忽略异常5. ⽅法注释和⽂档中要包含所抛出异常的说明6. ⽅法抛出的异常,应该与本⾝的抽象层次相对应7. 对第三⽅API抛出⼤量各类异常进⾏封装8. 使⽤异常来做错误处理,⽽⾮错误码9. 在finally块中不要使⽤return、break或continue使finally块⾮正常结束10. 不要直接捕获受检异常的基类Exception11. ⼀个⽅法不应抛出太多类型的异常12. 充分利⽤断⾔⽇志:1. ⽇志信息准确、繁简得当,满⾜快速定位的需要2. ⽇志的记录,不要使⽤ System.out 与 System.err 进⾏控制台打印,应该使⽤专⽤的⽇志⼯具(⽐如:slf4j+logback)进⾏处理3. ⽇志⼯具对象logger应声明为private static final4. ⽇志应分等级5. ⽇志中不要记录敏感信息多线程并发:1. 多线程访问同⼀个可变变量,需增加同步机制2. 禁⽌不加控制地创建新线程3. 创建新线程时需指定线程名4. 使⽤Thread对象的setUncaughtExceptionHandler⽅法注册Runtime异常的处理者(v1.5+)5. 不要使⽤Thread.stop⽅法,因为该⽅法本质是不安全的,使⽤它可能会导致数据遭到破坏6. 不要依赖线程调度器、线程优先级和yield()⽅法7. 采⽤Java1.5提供新并发⼯具代替wait和notify(v1.5+)8. 使⽤线程安全集合在多线程间共享可变数据9. 多线程操作同⼀个字符串相加,应采⽤StringBuffer10. 针对线程安全性,需要进⾏⽂档(javadoc)说明运算和表达式:1. 不要写复杂的表达式2. 运算时应避免产⽣溢出3. 采⽤括号明确运算的优先级控制语句:1. 采⽤for-each代替传统的for循环(v1.5+)2. 在switch语句的每⼀个case、和default中都放置⼀条break语句序列化:1. 尽量不要实现Serializable接⼝2. 序列化对象中的HashMap、HashSet或HashTable等集合不能包含对象⾃⾝的引⽤3. 实现Serializable接⼝的可序列化类应该显式声明 serialVersionUID泛型:1. 在集合中使⽤泛型(v1.5+)2. 类的设计可优先考虑泛型(v1.5+)3. ⽅法的设计可优先考虑泛型(v1.5+)4. 优先使⽤泛型集合,⽽不是数组(v1.5+)其他语⾔特性:1. 新代码不要使⽤已标注为@deprecated的⽅法2. 使⽤JDK⾃带的API或⼴泛使⽤的开源库,不要⾃⼰写类似的功能。
Java基础编码规范

Java基础编码规范1. 语法基础标识符、关键字、保留字标识符:由程序员指定的变量、⽅法、类、接⼝等的别名.。
标识符规范:区分⼤⼩写;⾸字母可以是下划线、字母、美元。
但不能是数字;出⾸字符以外的其它字符,可以是下划线、字母、美元和数字;关键字不能作为标识符.关键字:语⾔已经定义好的类似于标识符的保留字符序列,不能挪作他⽤,关键字⼀律⼩写表⽰。
保留字:在语⾔中既不能当作标识符使⽤,也不是关键字,也不能在程序中使⽤的字符序列,Java语⾔的保留字只有const,goto,其中const可以使⽤public static final 来代替。
Java分隔符:分号:表⽰⼀条语句的结束。
⼤括号:表⽰⼀个语句块,即语句的⼀个集合,在定义类和⽅法是,语句块也被⽤作分隔类体或⽅法体。
空格:适当的使⽤空格可以改善代码的可读性。
变量:变量所代表的内容是可以修改的。
常量:变量的内容是不可以的被修改的,常量⼀旦被初始化就不能被修改。
事实上常量:有三种类型:静态常量,成员常量和局部常量。
变量作⽤域:作⽤域规定了变量的适⽤范围,超过了变量作⽤域,变量内容就会被释放,根据变量作⽤域的不同可以分为全局变量和局部变量。
2. 编码规范除了包和常量以外,java编码规范均使⽤驼峰命名法。
包名⼀律全部⽤⼩写,作为命名空间,包名必须具有唯⼀性。
⽅法名、变量名使⽤⼩驼峰命名法,如balanceAccount。
类和接⼝名、⽂件名使⽤⼤驼峰命名法,如CatDao。
常量,全部使⽤⼤写,多个单词构成可以使⽤下划线间隔开。
3. 注释规范⽂件注释:即在每⼀个⽂件的开头进⾏注释,⽂件注释通常包括版权信息、⽂件信息、历史版本信息和⽂件内容等等。
⽂档注释:⽂档注释就是可以⽣成API帮助⽂档的注释,⽂档注释主要针对类(或者接⼝)、实例变量、静态变量、实例⽅法、静态⽅法等进⾏注释,主要提供给不看源码的⼈做参考⽤代码注释:给阅读源码的⼈以参考的代码注释地标注释:在源代码中添加⼀些表⽰,以便于IDE⼯具快速定位代码。
java 编码规则

java 编码规则
Java编码规则是指在编写Java程序时需要遵循的一系列规范和约定,旨在提高代码的可读性、可维护性和可扩展性。
下面是一些常见的Java编码规则:
1. 代码缩进:使用四个空格进行缩进,不要使用制表符。
2. 代码行长度:每行代码尽量不超过80个字符,超过时可以换行。
3. 命名规范:使用驼峰命名法,即首字母小写,后面每个单词的首字母大写。
4. 类名:类名使用名词或名词短语,首字母大写。
5. 方法名:方法名使用动词或动词短语,首字母小写。
6. 变量名:变量名使用名词或名词短语,首字母小写。
7. 常量名:常量名应全部大写,并用下划线分隔单词。
8. 注释:为代码添加适当的注释,解释代码的用途、实现细节等。
9. 空格使用:在运算符两侧、逗号后面、冒号后面等地方使用空格,增加代码的可读性。
10.代码格式化:使用合适的缩进、空行、大括号等格式化代码,以增强可读性。
遵循这些Java编码规则可以使你的代码更易于理解和维护。
此外,还可以使用一些静态代码分析工具来自动检查代码是否符合编码规范,如Checkstyle、FindBugs等。
编码规则的遵守不仅仅是个人习惯的问题,也是一个团队合作的重要环节,通过统一的编码规范可以提高代码的一致性,方便开发人员的协作和项目的维护。
编码规范

系统开发编码规范作者:日期:2011-5-29一、中英文对照以及简拼:二、Java源程序的编码规范1.命名:1)类名的定义:类名采用英文中具有实际意义的名词单词组合或是英文名词简拼的组合,并根据类所在的MVC层的名字作为后缀名,系统中嵌入了Fire WorkFlow工作流,为了将业务类和工作流类区分开,在类名开始添加Biz定义为业务类,添加Flow定义为工作流类。
例如:设计一个类作为投保处理,该类所在层为Dao层,且是业务类,该类接口为:BizAppPlyDao,类命名为:BizAppPlyDaoImpl,2)方法的命名:方法名采用英文中具有实际意义动宾结构的单词组合的形式,例如该方法保存一个投保单则命名为saveAppPly3)包的命名:包名都要小写,现有系统所有包名都以com.xxx.aaa开头,后续名称为模块名+层名,工具类放在util包下,如果某包下所有的类都是自定义接口的实现类,则该包要在所实现接口的包下面,并命名为impl。
例如:com.xxx.aaa.app.service,com.xxx.aaa.app.service.impl2.注释:1)类注释:必须包含该类的描述,例如功能信息,注明作者(可以同svn的账户名),创建时间,版本号等。
2)方法注释:必须包含该方法的用途,参数介绍,返回值介绍,抛出异常等信息3)行注释:代码的关键行、判断分支、关键算法、复杂语法、关键字段或是修改别人代码的新添内容必须写详细的注释说明如果关键算法不能立即实现注释上加// TODO4)添加注释模版按照注释模版的格式填写。
(附模版文件)三、数据库表和字段命名规范1.数据库表命名数据库表大体分为公共信息表(Common),业务数据表(Biz)、工作流表(Flow),公共信息表以Common开头,业务数据表以Biz开头,工作流表已Flow开头,各个单词间以“_”下划线隔开,并采用与保存数据相关的英文单词,例如业务保单数据信息表的命名为:Biz_Ply_Information2.表中字段的命名字段的命名为英文单词(简拼)的组合,各个单词间以“_”下划线隔开,采用与保存数据相关的英文单词,例如保单号为:ply_no注意:在设计数据库和创建数据库、创建表或是修改数据表,添加字段等都要添加comment注释3.Sql编写规范1)关键字大写,表明、字段名小写,别名用驼峰命名法。
java编码规范
1范围2规范性引用文件3定义和缩略语4文件组织4.1 文件结构规则4-1-1:包名只允许使用小写字母,包命名格式如下:“倒置的公司域.产品名.模块名”,模块名可以根据产品结构划分为多级模块。
如:package com.h3c.xlog.nta.dao;规则4-1-2:Java源代码文件使用‘src’作为一级目录,按照包名成树状目录结构存放。
如:…\src\com\h3c\xlog\nta\dao\Sample.java规则4-1-3:Java源代码文件名与类名相同4.2 文件格式标准Java源代码文件头格式如下/*** Copyright (c) 2007,Hangzhou H3C Technologies Co.,Ltd.All rights reserved.* </* ...........................................................................* Product :iMC V300R002* Module Name;* Date Created:YYYY-MM-DD* Creator:* Description;** ...........................................................................* Modification History* DATE NAME DESCRIPTION* ..........................................................................* YYYY-MM-DD John XXXX project,new code file.** .........................................................................*/规则4-2-1:任何一个代码源文件必须包含有标准的文件头,且其中的文件名、产品、日期、作者等内容填写完整。
java代码格式规范
SOAR项目Java开发规范1. 引言 (2)2.文件 (2)3.命名规则 (3)3.1基本的规则 (3)3.2常量命名 (3)3.3变量命名 (3)3.4方法命名 (5)3.5类和接口的命名 (5)3.6包的命名 (6)4.注释规范 (6)4.1 基本规则 (6)4.2 Java中有三种注释方式说明 (6)4.2.1文档注释/** */ (6)4.2.2行注释// (7)4.2.3块注释:/* */ (7)4.3类/接口注释 (7)4.4 变量注释 (8)4.5 方法注释 (9)4.6 修改记录 (10)5.编码规范 (10)5.1基本原则 (10)5.2类编写规范 (14)5.3变量 (14)5.4方法 (15)5.5 语言使用及书写规范 (16)1. 引言软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在一个小组中采用统一的软件开发标准。
一般来说,制定这样的标准有下列好处:方便软件维护。
据统计,80%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。
在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。
任何产品都需要好的包装。
我们可以把代码本身看作是一种产品,那么按照规范编程也是对这个“产品”的包装规范化的代码也是软件质量的保证手段之一,也是软件过程能够流畅的基础。
我们每个人必须牢牢树立这样的观念:你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。
所以,我们必须努力写出“干净”和易读的代码。
本文档适用于软件开发过程中开发人员,主要包括编码人员、测试人员,开发人员,规范必须严格遵守,否则程序被视为不合格程序。
注:本规范中标红的内容为强制性遵循内容,开发人员必须遵守。
蓝色为强烈建议性内容,最好遵守,这样可以避免程序出现一些莫名奇妙的问题。
alibaba java coding guidelines规则
alibaba java coding guidelines规则关于阿里巴巴Java编码规范规则的详细解析引言在Java开发中,编码规范是非常重要的,它不仅可以提高代码的可读性和可维护性,还有助于团队合作和代码的风格统一。
阿里巴巴作为中国最大的电商企业之一,拥有庞大的Java开发团队,为了统一团队的代码风格,提高代码质量,他们制定了一整套的Java编码规范,即阿里巴巴Java编码规范(下称“规范”)。
本文将以规范中的主题“[alibaba java coding guidelines规则]”为主线,逐条解析规范并给出相应的理解和实践建议。
一、规则一:命名规约1. 【强制】类名使用UpperCamelCase规范,方法名、成员变量名和局部变量名均使用lowerCamelCase规范。
命名规约是代码中最直观的内容之一,良好的命名规约可以提高代码的可读性和可维护性。
在使用UpperCamelCase和lowerCamelCase规范时,可以根据命名对象的特点选择合适的规范。
例如,类名通常代表一种抽象的概念,适合使用UpperCamelCase规范,而方法名、成员变量名和局部变量名通常代表具体的实现细节,适合使用lowerCamelCase规范。
2. 【强制】类名和方法名以功能命名,不以数据结构命名。
命名时应关注方法或类的功能,而不是内部的数据结构。
使用功能命名可以更好地描述代码的用途,并且随着代码的演进,内部的数据结构可以灵活变化而不会影响命名的准确性。
3. 【强制】定义枚举类型时,使用Enum后缀。
为了提高代码的可读性,对于枚举类型的定义,应统一添加Enum后缀。
例如:javapublic enum ColorEnum { ... }4. 【推荐】避免过长或过短的命名。
命名应该尽量精简明了,避免过长或过短的命名。
过长的命名可能会降低代码的可读性,而过短的命名则可能无法准确描述代码的含义。
5. 【推荐】对于常量和静态变量,使用全大写字母加下划线的命名规范。
项目编码规范
项目编码规范(一)命名规范Java包、类的命名应尽量采用完整的英文描述符,一般采用小写英文字母,但类名、接口名以及任何非初始单词的第一个字母要大写,不能用完整英文描述的,应以该英文单词的前四个字母或能代表单词意思的缩写代替。
具体如下:(1)尽量使用完整的英文描述符;(2)采用合适于相关领域的术语(3)采用大小写混合使名字可读(4)尽量少用缩写,确有需要的,要能表达其意义;(5)避免使用长的名字(小于15个字母)(6)避免使用类似的名字,或者是大小写不同的名字;(7)避免使用下划线(除静态常量等);举例如下:包(packge) 采用完整的英文描述符,应该都是由小写字母组成。
对于全局包,将你的internet域名反转并接上包名。
如:com.boyi.eim,com.boyi.oa.web 类(Class) 采用完整的英文描述符,所有单词的第一个字母大写。
如:User,StuManager接口(interface) 采用完整的英文描述符说明接口封装,所有单词第一个字母大写。
名字后面加上后缀Dao,实体类实现接口加上后缀Impl类变量:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。
如:userName参数:同上获取成员函数:封装字段,被访问时调用get set方法普通成员函数:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写。
静态常量字段:全部采用大写字母,单词之间用下划线分隔。
循环计数器:通常采用字母I,j,k……………..数组:采用完整的英文描述符,第一个字母小写,后所有单词的第一个字母大写(二)代码注释良好的注释习惯对于一支程序来说,是其易于解读的关键。
也就是说,如果另一个编程人员从未见过这段代码,要在合理的时间内理解代码,需要知道哪些信息。
并以此作为注释的依据。
因此对于注释来说,需要注意以下几点:(1)注释应该增加代码的清晰度;(2)保持注释的简洁;(3)在写代码之前写注释(4)注释出为什么做了一些事,而不仅仅是做了什么使用代码注释的目的:(1)文字说明代码的作用(即为什么要用编写该代码,而不是如何编写);(2)确指出该代码的编写思路和逻辑方法;(3)人们注意到代码中的重要转折点;(4)使代码的阅读者不必在他们的头脑中仿真运行代码的执行方法.代码注释原则:1. 用文字说明代码的作用:简单的重复代码做写什么,这样的注释几乎不能给注释增加什么信息.如果你使用好的命名方法来创建直观明了的代码那么这些类型的注释绝对增加不了什么信息.2. 如果你想违背好的编程原则,请说明为什么:有的时候你可能需要违背好的编程原则,或者使用了某些不正规的方法,.遇到这种情况时,请用内部注释来说明你在做什么和为什么要这样做。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. Java 命名约定除了以下几个特例之外,命名时应始终采用完整的英文描述符。
此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。
1.1一般概念n 尽量使用完整的英文描述符n 采用适用于相关领域的术语n 采用大小写混合使名字可读n 尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一n 避免使用长的名字(小于 15个字母是个好主意n 避免使用类似的名字,或者仅仅是大小写不同的名字n 避免使用下划线(除静态常量等1.2示范包(Package采用完整的英文描述符,应该都是由小写字母组成。
对于全局包,将你的 Internet 域名反转并接上包名。
j ava.aw t,com.ambysof t.www.persistence类(Class采用完整的英文描述符,所有单词的第一个字母大写。
Customer, SavingsAccount接口(Interface采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。
习惯上,名字后面加上后缀 able, ible 或者 er,但这不是必需的。
Contactable,Prompter 组件/部件(Component使用完整的英文描述来说明组件的用途,末端应接上组件类型。
okButton, customerList,f ileMenu异常(Exception通常采用字母 e 表示异常。
e类变量字段采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。
firstName, lastName实参/参数同字段/属性的命名规则 public void setFirstName(StringfirstName{ this.firstName = f irstName;}局部变量同字段/属性的命名规则获取成员函数被访问字段名的前面加上前缀 get。
getFirstName(, getLastName(布尔型的获取成员函数所有的布尔型获取函数必须用单词 is做前缀。
isPersistent(, isString(设置成员函数被访问字段名的前面加上前缀 set。
setFirstName(, setLastName(,setWarpSpeed(普通成员函数采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。
openFile(, add Account(静态常量字段(static final全部采用大写字母,单词之间用下划线分隔。
MIN_B ALANCE, DEF AULT_DATE循环计数器通常采用字母 i,j,k 或者 counter 都可以接受。
i, j, k, counter数组数组应该总是用下面的方式来命名:obj ectType[]。
byte[] buff er;2. Java 注释约定一个很好的可遵循的有关注释的经验法则是:问问你自己,你如果从未见过这段代码,要在合理的时间内有效地明白这段代码,你需要哪些信息。
2.1. 一般概念n 注释应该增加代码的清晰度n 保持注释的简洁n 在写代码之前写注释n 注释出为什么做了一些事,而不仅仅是做了什么2.2. 示范文档注释在紧靠接口、类、成员函数和字段声明的前面注释它们。
/** 客户:客户是我们将服务和产品卖给的人或机构。
*/C 语言风格采用 C 语言风格的注释去掉不再使用但你仍想保留的代码。
仍想保留是因为用户万一会改变想法,或者在调试过程中想让它暂时失效。
/*这部分代码因为已被它之前的代码取代,由 B.Gustaf sson, 于 1999 年 6月 4日注释掉。
如果两年之后还未使用,将其删除。
. . . (源代码*/单行在成员函数内采用单行注释,来说明业务逻辑、代码段和暂时变量的声明。
注释符"//"后必须紧跟一个空格,然后才是注释信息。
// 遵照 Sarek 的规定,给所有// 超过 $1000 的发货单// 打 5% 的折扣。
让利活// 动于 1995年 2月开始.2.3. 注释哪些部分类类的目的、即类所完成的功能,注释出采用的不变量。
接口设置接口的目的、它应如何被使用以及如何不被使用。
成员函数注释对于设置与获取成员函数,在成员变量已有说明的情况下,可以不加注释;普通成员函数要求说明完成什么功能,参数含义是什么返回什么;普通成员函数内部注释控制结构,代码做了些什么以及为什么这样做,处理顺序等。
实参/参数参数含义、及其它任何约束或前提条件字段/属性字段描述局部变量无特别意义的情况下不加注释3. Java 文件样式约定所有的 Java(*.java 文件都必须遵守如下的样式规则:1 版权信息版权信息必须在 j ava 文件的开头,比如:/***Copyright ?2000 Shanghai XXX Co. Ltd. *All right reserved. */其他不需要出现在 javadoc的信息也可以包含在这里。
2 Package/Importspackage 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。
如果 import 行中包含了同一个包中的不同子目录,则应该用 *来处理。
package .stats;import j ava.io.*;import j ava.util.Observable;import hotlava.util.Application;这里 java.io.*是用来代替InputStream and OutputStream 的。
3 Class接下来的是类的注释,一般是用来解释类的。
/*** A class representing a set of packet and byte counters * I t is observable to allow it to be watched, but only * reports changes when the current set is co mplete */接下来是类定义,包含了在不同的行的 extends 和 implementspublic class CounterSet extends Observable implements Cloneable{……}4 Class Fields接下来是类的成员变量:/***Packet counters*/protected int[] packets;public的成员变量必须生成文档(JavaDoc。
proceted、private和 package 定义的成员变量如果名字含义明确的话,可以没有注释。
5 存取方法(类的设置与获取成员函数接下来是类变量的存取的方法。
它只是简单的用来将类的变量赋值获取值的话,可以简单的写在一行上,如类的成员变量已经有注释,类变量的存取方法可以没有注释。
public int[] getPackets( { return this.packets; }public void setPackets(int[] packe ts { this.packets = packets; }……要求说明的是,对于集合,加入成员函数来插入和删除项;另其它的方法不要写在一行上。
6 构造函数接下来是构造函数,它应该用递增的方式写(比如:参数多的写在后面。
public CounterSet(int size{ this.size = size;}7 克隆方法如果这个类是可以被克隆的,那么下一步就是 c lone 方法:public Obj ect clone( { try { …… }catch(CloneNotSupportedException e { …… }}8 类方法(类的普通成员函数下面开始写类的方法:/***Set the packet counters* param r1 - …… * param r2- …… * …… */protected f inal void setArray(int[] r1, int[] r2, int[] r3, int[] r4 throw sIllegal ArgumentException{ // Ensure the arrays are of equal size ……}9 toString 方法一般情况下,每一个类都应该定义 toString 方法:public String toString( { ……}10 main 方法普通类,考虑置入一个main(方法,其中包含用于测试那个类的代码,如果包含了main( 方法, 那么它应该写在类的底部。
4. Java编码其它约定n 文档化必须用 javadoc 来为类生成文档。
不仅因为它是标准,这也是被各种 j ava 编译器都认可的方法。
使用 @author 标记是不被推荐的,因为代码不应该是被个人拥有的。
n 缩进缩进应该是每行2个空格。
不要在源文件中保存Tab字符,在使用不同的源代码管理工具时Tab字符将因为用户设置的不同而扩展为不同的宽度。
如果你使用 UltrEdit 作为你的 Java 源代码编辑器的话,你可以通过如下操作来禁止保存Tab字符,方法是通过 UltrEdit中先设定 Tab 使用的长度室2个空格,然后用 Format|Tabs to Spaces菜单将 Tab 转换为空格。
n 页宽页宽应该设置为80字符。
源代码一般不会超过这个宽度,并导致无法完整显示,但这一设置也可以灵活调整。
在任何情况下,超长的语句应该在一个逗号或者一个操作符后折行。
一条语句折行后,应该比原来的语句再缩进2个字符。
n {} 对{} 中的语句应该单独作为一行。
例如,下面的第1行是错误的,第2行是正确的:if (i>0 { i ++ }; // 错误, { 和 } 在同一行 if (i>0 { i ++ }; // 正确, 单独作为一行n 括号左括号和后一个字符之间不应该出现空格;同样,右括号和前一个字符之间也不应该出现空格。
下面的例子说明括号和空格的错误及正确使用:CallProc( AParameter ; // 错误CallProc(AParameter; // 正确不要在语句中使用无意义的括号,括号只应该为达到某种目的而出现在源代码中。
n JSP文件命名采用完整的英文描述说明JSP所完成的功能,尽可能包括一个生动的动词,第一个字母小写,如:view Message.j sp、editUser.j sp或者f orumChooser.j sp等。
n Servlet类命名一般对应于所服务的对象加后缀Service来命名,如:UserService,TradeService 等。