编码规范培训-Java编码规范.doc
《编码规范培训-Java编码规范.doc》由会员分享,可在线阅读,更多相关《编码规范培训-Java编码规范.doc(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java编码规范2009年6月文档修订记录章节编号章节名称修订内容简述修订日期修订前版本号建立文档2009-06-261.02.4日志规范补充2009-07-131.02.6.4 异常规范25新增2009-07-151.02.6.5工程配置文件规范新增2009-07-161.01引言51.1文档目的51.2本规范的指导意义51.3文档预期读者51.4文档适用范围51.5参考文档52JAVA代码开发规范62.1命名规范62.1.1文件 File62.1.2包 Package62.1.3接口Interface62.1.4类 Class72.1.5方法 Method72.1.6参数 Paramete
2、r82.1.7变量 Variable82.1.8实例变量 Instance Variable92.1.9常量 Constant92.1.10数组 Array92.2格式规范102.2.1版权信息 Copyright Information102.2.2注释 Comment102.2.3缩进 Indentation122.2.4空格 Space122.2.5空行 Blank Line122.2.6行长度 Line Length132.2.7换行 New Line132.2.8圆括号 Parentheses142.2.9大括号 Big Brackets142.3语句规范152.3.1变量、常量的使
3、用152.3.2简单语句 Simple Statement152.3.3条件语句 Condition Statement162.3.4分支语句 Switch Statement162.3.5循环语句 Loop Statement172.3.6包和引入语句 Packet and Import Statement182.3.7声明语句 Declare Statement182.3.8例外控制语句 Exception Control Statement192.3.9类和接口 Class and Interface192.3.10构造/析构 Constructor/Finalizer202.3.11方
4、法 Method202.3.12属性 Attribute222.3.13SQL语句 SQL Statement232.4日志规范242.5一般性规范252.6其它代码开发规范262.6.1多线程 Multi-Threading262.6.2Servlet262.6.3JDBC272.6.4异常规范282.6.5工程配置文件规范291 引言1.1 文档目的制定这个规范的目的是为了增加代码的可读性,使项目的所有代码具有统一的编码风格,减少人员变动造成的损失,提高软件开发团队的生产效率,有利于相关项目(票据集中提入、批量代收付、影像采集、前后台分离)向营运平台整合。1.2 前提与局限“深化前后台业务
5、分离项目”的开发,以eclips为集成开发环境,以java为开发语言,以weblogic为web 服务器,数据库类型为oracle。本规范的制定以此为前提,项目的开发应在此规范制定的原则下进行。此规范具有相对合理性,不排除在特定场合下的局限性。1.3 本规范的指导意义1、提高软件的可读性,便于开发、维护人员理解代码;2、减少软件的维护成本,有助于代码的修改、调试;3、增加代码的复用程度,提高团队的合作效率;4、养成好的编码习惯,形成严谨的思维模式;5、增强程序的健壮性,降低错误的发生概率,提高运行性能。1.4 文档预期读者本文档的预期读者包括J2EE项目开发组全体成员:技术管理人员、系统设计人
6、员、系统开发人员、系统测试人员、系统维护人员、推广培训人员及其他相关人员。1.5 文档适用范围本文档用于规范“深化前后台业务分离项目”的编码,也可供其他项目开发人员参考。1.6 参考文档Java编码规范作者:建总行信息技术部2 Java代码开发规范2.1 命名规范总体原则:命名应易于理解,能够见名识意。2.1.1 普通文件 FileNaming Convention命名规范Must Follow or Not是否必须遵循Example 范例文件名命名方法, 单词首字母小写开头必须thisIsTest.java备注:2.1.2 包 PackageNaming Convention命名规范Must
7、 Follow or Not是否必须遵循Example 范例采用建行Internet域名格式命名,不得以个人名字命名必须com.ccb.cos.packagePackage名称小写必须Package名称必须为单数必须使用:com.ccb.cos.servlet不使用:com.ccb.cos.servlets备注:建行标准Internet域名为 ,所以包结构以com.ccb为前缀2.1.3 接口InterfaceNaming Convention命名规范Must Follow or Not是否必须遵循Example范例英语单词字头大写,其他可以用大写或小写必须ThisIsAnInterfaceN
8、ame接口要I开头必须ISomeInterface备注:2.1.4 类 ClassNaming Convention命名规范Must Follow or Not是否必须遵循Example范例英语单词字头大写,其他可以用大写或小写必须ThisIsAClassName自定义的异常类,应以Exception为后缀必须public class FtpException extends Exception备注:2.1.5 方法 MethodNaming Convention命名规范Must Follow or Not是否必须遵循Example范例第一个英文单词首字母小写必须openAccount()ge
9、tString()类的获取方法的方法名采用被访问的字段名前加上前缀get必须getFirstName()getLastName()类的设置方法的方法名采用被访问的字段名前加上前缀set必须setFirstName()setLastName()类的布尔型的判断方法要求方法名使用单词 is 做前缀或者使用具有逻辑意义的单词必须isPersistent()isString()equal()equals()类的普通方法采用完整的英文描述说明成员方法功能,并尽可能是动+名形式。 必须openFile()addAccount()如果可能,方法名、参数名与要赋值的字段有类似的名字建议setSize(int
10、size) this.size = size; 用于转换的方法,名称以“to”为前缀建议public SerBuf toSerBuf();防止多个方法修改同一变量。应该只有一个方法能写,其他只能读。建议不建议:setSize(int size) this.size = size; doubleSize(int size) this.size = size * 2; 备注:2.1.6 参数 Parameter Naming Convention命名规范Must Follow or Not是否必须遵循Example范例参数的名字必须和变量的命名规范一致必须thisAClassParameter使用
11、有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字建议setCounter(int size)this.size=size;备注:2.1.7 变量 VariableNaming Convention命名规范Must Follow or Not是否必须遵循Example范例变量的名字必须以一个小写字母开头,后面的单词用大写字母开头必须usernamethisIsAClassVariable循环记数变量通常采用i, j, k或者counter建议i, j, kcounter异常变量以“e”开始必须catch (Exception1 e1)防止局部变量与公共变量同名必须class Demo
12、int i; /外部变量.int func() int i; /局部变量 .避免使用类似的名字,或者仅仅是大小写不同的名字必须不建议:float PI, pi; /仅大小写不同float sales, salesSum; /名称包含同一项目中不同文件之间、同一文件的前后之间,表示相同意义的变量,命名具有一致性必须不建议:部位:String userName; /操作员名称部位2:String operatorName; /操作员名称建议:要么全部用userName,要么全部用operatorName备注:l 对于使用O/R映射、开发工具自动生成变量等时,可以不采用本节要求的变量命名规范2.1.
13、8 实例变量 Instance VariableNaming Convention命名规范Must Follow or Not是否必须遵循Example范例变量的名字必须以一个小写字母开头,后面的单词用大写字母开头必须usernamethisAClassInstance备注:2.1.9 常量 ConstantNaming Convention命名规范Must Follow or Not是否必须遵循Example范例常量的名字必须都大写,下划线分隔必须final static int DEFAULT_HTTP_PORT=80备注:2.1.10 数组 ArrayNaming Convention命
14、名规范Must Follow or Not是否必须遵循Example范例数组的名字必须参照示例命名必须使用:byte buffer不使用:byte buffer备注:2.2 格式规范2.2.1 版权信息 Copyright Information Format Specification格式规范Must Follow or Not是否必须遵循Example范例版权信息必须位于Java文件的开头必须/* * Copyright 2000 Shanghai XXX Co. Ltd. * All right reserved. */备注:2.2.2 注释 Comment Format Specifi
15、cation格式规范Must Follow or Not是否必须遵循Example范例类/接口注释:描述Java类、接口、每个文档注释设在注释分割符/*/中,这种注释应该放在声明之前,“作者”如果使用为建行员工,采用中文名称加建行内部统一邮箱作为标识;若为外部人员,则使用中文名称加公司邮箱作为标识。版本中必须包含编写/最新修订日期必须/* 功能/模块 :* author 李广liguang/zh/ccb* version 1.0 yyyy/mm/dd* 类描述 * 修订历史:* 日期 作者 参考 描述* see 相关类连接* 中国建设银行版权所有.*/public class Example
16、方法注释描述方法。每个文档注释设在注释分割符/*/中,必须明确的描述方法的出入参数、异常、以及方法的含义。对于实现接口的方法,其注释的内容信息不得少于原接口中的注释内容必须/* param * return*方法描述*/成员注释所有类成员必须进行注释;其中公共成员必须进行javaDoc注释;对于方法内部的私有成员,缺省的需要注释,对于临时的,直观含义明确的可以不加注释;必须块注释:块注释用于给文件、方法、数据结构和算法提供描述。必须利用块注释描述程序的要点。写在函数或方法中的块注释必须与它所描述的代码的缩进一致。一个块注释之前应该由一个空行将它与代码隔离开必须/* * 在这里描述*/单行注释:
17、单行的短注释与它所跟着的代码的缩进一致。如果一个注释不能在一行中写完,就应该使用块注释的格式。单行注释之前应该有一个空行。必须if (condition) / 当帐户是在 使用/* */临时删除原代码建议备注:l 注释要简单明了。l 编写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。l 在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。l 对代码的注释应放在其上方相邻位置,不可放在下面。对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注
18、释要对齐。l 变量、常量的注释应放在其上方相邻位置或右方。l 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。l 在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。2.2.3 缩进 Indentation Format Specification格式规范Must Follow or Not是否必须遵循Example范例子功能块应在其父功能块后缩进必须使用一个缩进位作为缩进的单元建议if ()SomeProcess();备注:2.2.4 空格 Space Format S
19、pecification格式规范Must Follow or Not是否必须遵循Example范例操作符前后使用空格建议if (x = 3) 关键字与紧跟着的括号间使用空格分开建议while (true) .for语句中的表达式建议使用空格分开建议for (expr1; expr2; expr3)备注:l 空格不应该置于方法名与其左括号之间,这将有助于区分关键字和方法调用。2.2.5 空行 Blank Line Format Specification格式规范Must Follow or Not是否必须遵循Example范例两个方法之间使用一个空行建议方法内的局部变量和方法的第一条语句之间使用
20、一个空行建议块注释或单行注释之前使用一个空行建议一个方法内的两个逻辑段之间使用一个空行,用以提高可读性建议备注:l 空行将逻辑相关的代码段分隔开,以提高可读性。2.2.6 行长度 Line Length Format Specification格式规范Must Follow or Not是否必须遵循Example范例单个方法的代码行(不包含注释行)建议少于100行建议 单个类的代码行(包含注释行) 建议少于1500行建议一行的长度尽量少于100个字符,因为很多的终端和工具不能很好的处理,可能导致无法正确显示建议备注:l 在任何情况下, 超长的语句应该在一个逗号或者一个操作符后折行。一条语句折行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编码 规范 培训 Java
限制150内