1、JAVA技术开发标准JAVA 技术开发标准 注释应该增加代码的清晰度,注释出谁在什么时候什么缘故做了一些 事,而不仅仅是做了什么。尽量使用 javadoc 标志,为类生成文档。Java中有三种注释方法:单行注释符(/),块注释符(/* /)和文档注释( /* */)单行注释符( /)/注释符用来对一行代码添加讲明型描述,常见使用如下:变量注释,对变量的定义做出讲明,不同的行之间要对齐 ,如下int level; / indentation levelint size; / size of table添加在一行代码结尾或一段代码开始用于对代码进行描述if (foo 1) / Do a doubl
2、e-flip.elsereturn false; / Explain why here.块注释符( /* */)用于注释一段代码或添加多行讲明,如:/*Here is a block comment.*Comment continues *如果该文件不是修改人创建的,还需要添加修改人,时刻等信息*/文档注释 (/* */)文档注释使用/*开头,在使用javadoc对java代码制作文当时会自动将代码中的文档注释添加到文档中去。在所有 class开头和每个方法前都应该加上/*/注释,便于自动生成html格式的类库指南。(包括但不限于b eans,action,form,dao)关于class的文
3、档注释应该写在class申明语句前,同时拥有如下格式:/*Title: 续期收费要求对象 *Description: 封装页面提交的要求数据 *Copyright: Copyright (c) 2002*Company: Co., Ltd.* since 2008-08-20*author Kevin Qiu*version 1.0*/public class RenewChargeRO 方法注释/*查询续期应收费用列表 :查询指定保单号码保单的续期应收费用 信息,* 如果是修改,还应注明修改人及修改时刻 *param sPolicyCode 保单号码*return Collection of
4、 RenewChargeVO 应收费用信息列表*throws Exception 所有发生可能的专门*/public Collection getRenewChargeList(String sPolicyCode) throws Exception;注释开始是对方法的描述。Para m是对参数的描述,return是返回类型 的描述 ,throws 是对抛出专门的描述。严格按照文档注释的规范写出完整的注释后,程序生成的 HTML 类库 指南就专门详细,方便其他使用该类的程序员查阅和使用。二) BEANS 定义规范1、字段名称的取法符合规范,详细情形以数据字典为准,一样采纳 英文去掉元音后的三字
5、母简写,例如, code,简写cde; name简写nme; department简写 dpt;年月简写 ptyear,ptmnth金额简写 orgamt, occamt,acca mt ;日期简写 ptdate,occdat,effdat,strdat,endat等。2、 String类型必须定义适当的长度;Double、Float类型必须定义适 当的长度及精度Column(nullable = true,length =10) ,如果是长文档备注类型, 直截了当定义为Lob类型Column(nullable = true,precision=14, scale=2)3、 能够为列建唯独索引
6、,如下所示Column(nullable = true,length =15,unique=true) columnDefinition, 为列设定默认值4、 按适当的情形定义主键及复合索引等 Table(name=sys_clnt,uniqueConstraints=UniqueConstraint(columnNames=clntid,simpname)定义本Bea ns的主键,主键能够是In teger,Stri ng,Date等类型IdTableGenerator(name= SId, table = sysid, pkColumnName = id, valueColumnName
7、= tableid, pkColumnValue = 5, allocationSize = 1, initialValue = 10000000)GeneratedValue(strategy= GenerationType.TABLE, generator = S Id)Column(nullable = false,length =10)private String usercode;5、每个定段必须要用行注释“ /” 的形式来讲明字段的意义,每行 注释必须对齐,讲明必须清晰,如果该字段内容来自于 Sysltem,贝懦在注释中讲明 ITEMID 键值等。6、在定义中,我们使用的类型仅为
8、String、Double、lnteger、Date、 Long 型,不使用其它类型(在保险有关的项目中,所有的日期型均使用 D ate型,其它类型项目使用Long型)。(三)JSP或HTML页面规范下拉列表需要使用 框起 来。标识为必需录入框的语句为 * ,该标识 放置于录入框的后面。如何格式化数字, 一样中文或是字符串要求左对齐;定长数据能够居中(如固定长度日 期,固定长度订单号, 固定长度身份证, 定长代码等),数字要求右对齐 (后 面再放置“ ”占位),且必须格式化,如 #,#0.00这种,单 价/金额/发票/一样保留二位,重量与常规的数量保留整数。页面上所
9、有的录入框、下拉列表等,必须使用适当的 clsass或StyleClass类型,控件的长度一样一致,每行三列数据项的方式排列。Jsp或是Html文件名首字母必须大写。Jsp中使用TABLE时,其中的、要有缩进及对齐。对action中返回到Jsp的List-objs,除了能直截了当使用对象的外, 一律使用数组的方式实现输出,如下所示:$objs0 $objs1$objs2$objs39、 jsp/java中不得有任何引起警告的代码。10、 在任何一个JSP中,对JSP的BODY使用如下样式,支持按回 车跳下一个控件11、 在JSP中,如果以按钮提交的方式来定义提交对应的类型,通 用方法强制用以下
10、方法命名储存:编辑:删除:查询:12、 在JSP中,如果以activeType的方式来定义提交类型,通用方法强制用以下代码表示:储存: 编辑: 删除: 查询: 13、 关于有 CODE 及 NAME 形式显示的资料,在页面上一律使用 C ODENAME 的形式显示给用户。14、 查询及报表 保证所有查询条件的有效性;汇总及明细一致性,查询结果及报表输出的一致性;不同查询或是报表的结果一致性,页面常见功能的有效性。不管何种情形,如果报表与查询需求并非一致,不能放在同一页面中。 任何报表,必须先有查询及JSP List,才能有打印。 报表的风格要求:按公司报表模板执行。(四)JAVA编程规范1、通
11、用命名规范标识符类型命名规则示例Packages包名全部使用小写字母。包名类似如下结构: 域.公司名.项目名.模块名.功能名.组件名in fo.kuke.life.ps.ca ncellatio n.h esitate.bea nClasses类名要求使用简单的,能描述类功能的名词, 幸免使用缩写(通用缩写如 URL HTML除外)。 标记符中所有单词都应紧靠在一起,每一单词 首字母大与,其余字母小与。class PolicyProductServletActio n,F orm,Dao出以上类名规则外,还要在后面加上Form,Dao,Actio n 后缀In terfaces命名规则同cla
12、ssesin terface Ren ewChargeDAOMethods方法名使用动词,要求能简单描述方法实现的 功能。标记符中所有单词都应紧靠在一起,第一个单 词首字母小与,其它单词首字母大与,其余字 母小写。doProcess(); getPolicyCode();Variables变量名要求间单冋时有含义。变量名中所有单词都应紧靠在一起,第一个单 词首字母小与,其它单词首字母大与,其余字 母小写。在变量名中幸免使用_和$符号。一些通用的临时变量如整型使用 i,j,k ,字符型使用c,d,eint i; char c; BigDecimal fun dPrice;Con sta nts常
13、量名全部使用大写字母冋时单词间使用 分隔Static final int FEE_TYPE_R =44;2、action & form中的专门命名要求:a.ActionMappin 命名为 mapping; ActionForm 命名为 pForm; HttpSer vletRequest命名为 req; HttpServletResponse命名为 res;b.Action中用于拼装SQL条件的StringBuffer变量一律命名为hql或sq l,如果需要二个以上,则是 hqlO/sqlO、hql1/sql1、hql2/sql23、所有分页查询的 action 一律使用getList或ge
14、tListBySQL这二个函 数完成,如果使用这二个函数,引用方法一律为 DAO.getList的形式。a、专门情形下,使用executeSQLQuery或executeQuery猎取数据,则 需在action中添加代码if(pForm.getRowsPerPage()!=0)page.setRowsPerPage(pForm.getRowsPerPage();4、对数据库中选出的分页记录中的 Long型日期,在action中直截了 当转化为页面需要的” yyyy-MM-dd ”类型,不建议使用数据库的函数完成 转换,因为不能使用程序通用化,参考以下代码:SimpleDateFormat df
15、 = new SimpleDateFormat(yyyy-MM-dd HH:m m:ss.SSS);int i=0;for(Iterator it = page.getList().iterator();it.hasNext();)Object si = (Object)it.next();si5=(si5!=null?df.format(new Date(Long.valueOf(si5.to String():);page.getList().set(i, si);i+;5、 所有的方法必须有方法注释,详见前面的格式;如果程序超过 2 00 行左右的代码,应该分为不同的方法或是函数,爱护程
16、序的可读性。6、 任何 JAVA 代码中不能有引起警告状态;对不得不使用而导致的 情形按以下方法进行处理。SuppressWarnings(deprecation) SuppressWarnings(unchecked) SuppressWarnings(deprecation, unchecked)7、 常规程序要求:事务提交的一致性及错误回滚要求;程序功能流转 保证正确,有关数据准确无误,含各种验证及错误处理,不能有应用服务 器的报告错误页面显现8、 代码缩排规则(1)同行的代码缩排的间距一样定为 4个空格,Tab键一样设为4个空格。(2)行代码或注释的长度尽量少于 80 个字符,如果一行
17、代码过长, 应该换行。(3)逗号后加空格后再写其他代码,在每个运算符前后也都要留有空 格。(4)长的语句( 80 字符)要分成多行书写,长表达式要在低优先级 操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩 进,使排版整齐,语句可读。(5)表达式在换行时应该第一考虑在优先级高的运算符处换行,新行 的开始位置应该和原先行的相应字符对齐。如:longName1 = longName2 * (longName3 + longName4- longName5) + 4 * longname6;应该写成longName1 = longName2 * (longName3 + longNa
18、me4 - longN ame5)+ 4 * longname6;例如SQL拼装式例,每个字段分一行,”,”放在字段的前面,如下所 示。sql.append(select orgcode +,organizename +,ptyear +,ptmnth, +,ab);(6) 对独立的程序块之间、变量讲明之后必须加空行。(7) 函数或过程中的参数较长,则要进行适当的划分。( 8)不承诺把多个短语句写在一行中,即一行只能写一条语句。(9)if、for、do、while、case、switch、default 等语句自占一行,且 i f 、for、 do、 while 等语句的执行语句部分不管多少都要加括号 。10)对齐只使用 TAB ,不使用空格键
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1