您好,欢迎访问三七文档
×××2011-09-281.引言2.命名规范3.注释规范4.编码规范软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在项目开发中采用统一的软件开发标准。无论从时间跨度还是从工作量来说,一个软件系统生存期的大部分是维护,不是开发。你今天所编写的代码,会一直使用很多年,并且很有可能被其他人维护和改进。所以,我们必须努力写出“干净”和易读的代码。方便软件维护据统计,80%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。提高可读性好的编码规范能够大大增强代码的可读性,便于开发人员快速的理解新代码。保证软件质量规范化的代码是软件质量的保证手段之一,也是软件过程能够流畅的基础。1.引言2.命名规范3.注释规范4.编码规范基本命名规范常量命名规范变量命名规范方法命名规范包的命名规范字符集在26个英文字母、0到9的阿拉伯数字和下划线之中命名需要有一定的意义,推荐采用问题域中的术语命名命名尽量的短,如果命名太长,可以采用别名的方式,或者缩写来简化命名不要用前导下划线,也不要在命名的末尾用下划线所有的字符都必须大写。采用有意义的单词组合表达,单词与单词之间以“_”下划线隔开。命名尽量简短,不要超过16个字符例如:publicfinalintMAX_SIZE=120;publicfinalintMAX_WIDTH=100;publicfinalStringPROPERTY_NAME=menu;避免在命名中采用数字,除非有其他特殊含义变量名称是名词意义第一个单词全部小写,后续的每个单词采用首字母大写,其余小写命名尽量简短,不要超过16个字符除了生命周期很短的临时变量外,避免采用单字符作为变量名在某些情况下,变量可能需要加上类型前缀(后缀),前缀(后缀)与变量名称的实体部分没有任何间隔例如:publicStringstrName;ListuserList=newArrayList();ButtonsubmitBtn=newButton();命名多数为动词结构第一个单词采用小写,后续的每个单词采用首字母大写,其余小写,没有特别理由不用下划线作为分隔符构造方法的命名与类名一致在Java中对属性方法命名遵循JavaBean的标准:getter方法:get+属性名,对boolean型采用is+属性名,有些特定的属性名用has,can代替is可能更好setter方法:set+属性名StringgetName();booleanisStopped();booleanhasChild();JSP目录规范目录说明common公共资源(包括公共jsp,公共js组件,部门公共js等等)pages应用的页面文件目录pages/power应用的power模块的页面文件目录pages/js公共脚本styles页面样式文件目录WEB-INFWeb应用系统部分,包括配置文件、库文件、类文件等widgetsWEB组件目录JAVA目录规范包名说明**.common公共类文件目录**.common.constants公共常量静态类目录**.common.filter公共过滤器目录**.common.util公共工具类目录**.common.servlet公共servlet类目录**.modelPOJO对象目录**.facade接口目录**.springSpring方式实现目录**.vo自定义VO类**.webStruts2方式的Action目录1.引言2.命名规范3.注释规范4.编码规范基本规范三种注释方式说明变量注释方法注释算法注释修改记录注释应该使代码更加清晰易懂注释要简单明了,只要提供能够明确理解程序所必要的信息就可以了注释不仅描述程序做了什么,还要描述为什么要这样做,以及约束对于一般的getter、setter方法不用注释注释不能嵌套一般注释要使用中文编写3.1文档注释/***/可以用多行,一般用来对类、接口、成员方法、成员变量、静态字段、静态方法、常量进行说明。Javadoc可以用它来产生代码的文档。为了可读性,可以有缩进和格式控制。文档注释常采用一些标签进行文档的特定用途描述,用于帮助Javadoc产生文档。常用的文档注释标签有:标签Usedfor目的@author类/接口描述代码的作者,每个作者对应一个这样的标签@deprecated类/成员方法说明该段API已经被废除@exception或@throws成员方法描述方法抛出的异常每个异常一个对应一个这样的标签@param成员方法描述成员方法中的参数用途和意义,一个参数对应一个这样的标签@return成员方法描述成员方法的返回值的意义…...3.2行注释//一次只能注释一行,一般用来简短的描述某一个局部变量在该程序块的作用。3.3块注释:/**/可以用多行,一般用来对程序块、算法实现、类的实现进行说明。为了可读性,可以有缩进和格式控制。一般在行注释不能满足注释需要的时候采用。一般用来作为文件头、复杂算法的说明,方法体内的复杂过程说明等成员变量、类静态变量采用文档注释,对成员变量的注释通常包括:变量的意义变量的合法值域对并发访问的限制局部变量,如算法相关的变量采用块或行注释voidfunc(){inti;//用于循环计数…………}描述函数的功能,对成员方法,静态方法一般采用文档描述,特别是公开的方法。注释可以很详细,为了可读性强也可包含格式控制。/***@author郭庆伟*@paramuserCode用户代码*@parampassword登录密码*@returnboolean返回登录结果标识*@throwsException抛出异常*/算法描述指在实现级别的描述注释,如在方法内的注释,对类实现的注释,这样使得程序更加易懂,方便程序算法的修改和BUG的修复。一般采用块/行注释,对于简短的描述采用行注释,不要用文档注释。注释的主要内容包括:某些局部变量的意义和用途复杂的控制结构的注释,如循环,分枝,条件表达式。说明控制所要达到的目标复杂的代码段的描述,说明代码完成的功能,以及为什么这样做。使用@inheritDoc开始修改记录注释的格式为:/**MODIFYBEGIN修改人SVN账号,修改类型,日期JAVA代码……MODIFYEND*//**MODIFYBEGINguoqingwei,UPDATE,2011-09-28JAVA代码……MODIFYEND*/1.引言2.命名规范3.注释规范4.编码规范基本规则类编写规范变量编写规范方法编写规范语言使用及书写规范一个类文件最好不要超过2000行尽可能缩小对象的作用域,这样对象的可见范围和生存期也都会尽可能地小一个方法所完成的功能要单一,不同的功能封装为不同的方法尽可能的处理异常或转换异常,不要一味的包装异常如果对象在某个特定范围内必须被清理(而不是作为垃圾被回收),请使用带有finally子句的try块,在finally子句中进行清理。对于把一些逻辑相关的类组织在一起,可以考虑把一个类的定义放在另一个类的定义中,这种情况推荐使用内部类(比如界面层中的事件响应等)。内部类拥有所有外围类所有成员的访问权。对成员变量的访问最好通过getter/setter方法,这样能够保证访问的合法性,以及代码调整在处理可变String的时候要必须使用StringBuffer类,可变范围在5次以内可以使用String使用java标准库提供的容器。精通他们的用法,将极大地提高工作效率。优先选择ArrayList来处理顺序结构,选择HashSet来处理集合,选择HashMap来处理关联数组,选择linkedList来处理堆栈和队列,它对顺序访问进行了优化,向List中间插入与删除的开销小,但随机访问则较慢。类的组织结构,一般按照如下的顺序①常量声明②静态变量声明③成员变量声明④构造函数部分⑤Finalize部分⑥成员方法部分⑦静态方法部分对成员变量,尽量采用private每一个变量声明/定义占一行(参数变量除外)局部变量在使用前必须初始化,一般在声明时初始化变量的声明要放在程序块的开始位置inta;intb;对成员方法,不要轻易的采用public的成员变量。主要的修饰符有public,private,protected,无空方法中方法声明和函数体可都在一行。如:voidfunc(){}方法和方法之间空一行方法的文档注释放在方法的紧前面,不能空一行避免过多的参数列表,尽量控制在5个以内,若需要传递多个参数时,当使用一个容纳这些参数的对象进行传递,以提高程序的可读性和可扩展性方法中的循环嵌套不能超过2层每个方法尽量代码行数尽量不要超过100行(有效代码行,不包括注释),但必须保证逻辑的完整性方法与方法之间需要用一空行隔开return语句中,不要有复杂的运算。switch语句,需要一个缺省的分支在与常数作比较时常数放在比较表达式的前面If(“admin”.equals(userCode)){……}If(null==userCode){……}谢谢!
本文标题:JAVA开发规范
链接地址:https://www.777doc.com/doc-4279092 .html