JAVA开发规范.ppt_第1页
JAVA开发规范.ppt_第2页
JAVA开发规范.ppt_第3页
JAVA开发规范.ppt_第4页
JAVA开发规范.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java 开发规范, 2011-09-28,目录,1. 引言 2. 命名规范 3. 注释规范 4. 编码规范,1. 引言-综述,软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在项目开发中采用统一的软件开发标准。 无论从时间跨度还是从工作量来说,一个软件系统生存期的大部分是维护,不是开发。你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。所以,我们必须努力写出“干净”和易读的代码。,1. 引言-好处,方便软件维护 据统计,80的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。 提高可读性 好的编码规范能够大大增强代码

2、的可读性,便于开发人员快速的理解新代码。 保证软件质量 规范化的代码是软件质量的保证手段之一,也是软件过程能够流畅的基础。,目录,1. 引言 2. 命名规范 3. 注释规范 4. 编码规范,2. 命名规范,基本命名规范 常量命名规范 变量命名规范 方法命名规范 包的命名规范,2. 命名规范-基本命名规范,字符集在26个英文字母、0到9的阿拉伯数字和下划线之中 命名需要有一定的意义,推荐采用问题域中的术语命名 命名尽量的短,如果命名太长,可以采用别名的方式,或者缩写来简化命名 不要用前导下划线,也不要在命名的末尾用下划线,2. 命名规范-常量命名规范,所有的字符都必须大写。采用有意义的单词组合表

3、达,单词与单词之间以“_”下划线隔开。 命名尽量简短,不要超过16个字符 例如:,public final int MAX_SIZE = 120; public final int MAX_WIDTH = 100; public final String PROPERTY_NAME= menu ;,2. 命名规范-变量命名规范,避免在命名中采用数字,除非有其他特殊含义 变量名称是名词意义 第一个单词全部小写,后续的每个单词采用首字母大写,其余小写 命名尽量简短,不要超过16个字符 除了生命周期很短的临时变量外,避免采用单字符作为变量名,2. 命名规范-变量命名规范,在某些情况下,变量可能需要加

4、上类型前缀(后缀),前缀(后缀)与变量名称的实体部分没有任何间隔 例如:,public String strName; List userList = new ArrayList(); Button submitBtn = new Button();,2. 命名规范-方法命名规范,命名多数为动词结构 第一个单词采用小写,后续的每个单词采用首字母大写,其余小写,没有特别理由不用下划线作为分隔符 构造方法的命名与类名一致,2. 命名规范-方法命名规范,在Java中对属性方法命名遵循JavaBean的标准: getter方法:get+属性名, 对boolean型采用is+属性名,有些特定的属性名用h

5、as, can代替is可能更好 setter方法:set+属性名,String getName(); boolean isStopped(); boolean hasChild();,2. 命名规范-包的命名规范,JSP目录规范,2. 命名规范-包的命名规范,JAVA目录规范,目录,1. 引言 2. 命名规范 3. 注释规范 4. 编码规范,3. 注释规范,基本规范 三种注释方式说明 变量注释 方法注释 算法注释 修改记录,3. 注释规范-基本规范,注释应该使代码更加清晰易懂 注释要简单明了,只要提供能够明确理解程序所必要的信息就可以了 注释不仅描述程序做了什么, 还要描述为什么要这样做,以及

6、约束 对于一般的getter、setter方法不用注释 注释不能嵌套 一般注释要使用中文编写,3. 注释规范-三种注释方式说明,3.1 文档注释 /* */ 可以用多行,一般用来对类、接口、成员方法、成员变量、静态字段、静态方法、常量进行说明。Javadoc可以用它来产生代码的文档。为了可读性,可以有缩进和格式控制。 文档注释常采用一些标签进行文档的特定用途描述,用于帮助Javadoc产生文档。,3. 注释规范-三种注释方式说明,常用的文档注释标签有:,3. 注释规范-三种注释方式说明,3.2 行注释 / 一次只能注释一行,一般用来简短的描述某一个局部变量在该程序块的作用。 3.3 块注释:

7、/* */ 可以用多行,一般用来对程序块、算法实现、类的实现进行说明。为了可读性,可以有缩进和格式控制。一般在行注释不能满足注释需要的时候采用。一般用来作为文件头、复杂算法的说明,方法体内的复杂过程说明等,3. 注释规范-变量注释,成员变量、类静态变量采用文档注释,对成员变量的注释通常包括: 变量的意义 变量的合法值域 对并发访问的限制 局部变量,如算法相关的变量采用块或行注释,void func() int i; /用于循环计数 ,3. 注释规范-方法注释,描述函数的功能,对成员方法,静态方法一般采用文档描述,特别是公开的方法。注释可以很详细,为了可读性强也可包含格式控制。,/* * aut

8、hor 郭庆伟 * param userCode 用户代码 * param password 登录密码 * return boolean 返回登录结果标识 * throws Exception 抛出异常 */,3. 注释规范-算法注释,算法描述指在实现级别的描述注释,如在方法内的注释,对类实现的注释,这样使得程序更加易懂,方便程序算法的修改和BUG的修复。一般采用块/行注释,对于简短的描述采用行注释,不要用文档注释。注释的主要内容包括: 某些局部变量的意义和用途 复杂的控制结构的注释,如循环,分枝,条件表达式。说明控制所要达到的目标 复杂的代码段的描述,说明代码完成的功能,以及为什么这样做。

9、使用 inheritDoc开始,3. 注释规范-修改记录注释,修改记录注释的格式为: /* MODIFY BEGIN 修改人SVN账号,修改类型,日期 JAVA代码 MODIFY END */,/*MODIFY BEGIN guoqingwei,UPDATE,2011-09-28 JAVA代码 MODIFY END */,目录,1. 引言 2. 命名规范 3. 注释规范 4. 编码规范,4. 编码规范,基本规则 类编写规范 变量编写规范 方法编写规范 语言使用及书写规范,4. 编码规范-基本原则,一个类文件最好不要超过行 尽可能缩小对象的作用域,这样对象的可见范围和生存期也都会尽可能地小 一个

10、方法所完成的功能要单一,不同的功能封装为不同的方法 尽可能的处理异常或转换异常,不要一味的包装异常,4. 编码规范-基本原则,如果对象在某个特定范围内必须被清理(而不是作为垃圾被回收),请使用带有finally子句的try块,在finally子句中进行清理。 对于把一些逻辑相关的类组织在一起,可以考虑把一个类的定义放在另一个类的定义中,这种情况推荐使用内部类(比如界面层中的事件响应等)。内部类拥有所有外围类所有成员的访问权。,4. 编码规范-基本原则,对成员变量的访问最好通过getter/setter方法,这样能够保证访问的合法性,以及代码调整 在处理可变String的时候要必须使用Strin

11、gBuffer类,可变范围在次以内可以使用String,4. 编码规范-基本原则,使用java标准库提供的容器。精通他们的用法,将极大地提高工作效率。优先选择ArrayList来处理顺序结构,选择HashSet来处理集合,选择HashMap来处理关联数组,选择linkedList来处理堆栈和队列,它对顺序访问进行了优化,向List中间插入与删除的开销小,但随机访问则较慢。,4. 编码规范-类编写规范,类的组织结构,一般按照如下的顺序 常量声明 静态变量声明 成员变量声明 构造函数部分 Finalize部分 成员方法部分 静态方法部分,4. 编码规范-变量编写规范,对成员变量, 尽量采用priv

12、ate 每一个变量声明/定义占一行(参数变量除外) 局部变量在使用前必须初始化,一般在声明时初始化 变量的声明要放在程序块的开始位置,int a ; int b;,4. 编码规范-方法编写规范,对成员方法,不要轻易的采用public的成员变量。主要的修饰符有public, private, protected, 无 空方法中方法声明和函数体可都在一行。如:void func() 方法和方法之间空一行 方法的文档注释放在方法的紧前面,不能空一行,4. 编码规范-方法编写规范,避免过多的参数列表,尽量控制在个以内,若需要传递多个参数时,当使用一个容纳这些参数的对象进行传递,以提高程序的可读性和可扩展性 方法中的循环嵌套不能超过层 每个方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论