《java web开发规范》由会员分享,可在线阅读,更多相关《java web开发规范(12页珍藏版)》请在金锄头文库上搜索。
1、Java web 开发规范1、前言为了使软件开发过程有章可循,保证软件质量,加强开发管理。 2、开发管理项目进度周报表格如下: 项目编号 汇报人 汇报日期 项目进度详细描述 其他问题3、命名规范3.1 项目编号命名规范命名方式:项目英文/中午拼音名称_开发组编号_序列号序列号由 3 为数字组成,不足的用 0补齐。3.2 文档命名规范命名方式:项目英文/中午拼音名称_文档名称_序列号_编写人名称/编号3.3 jsp/html 命名规范1、 jsp 与 html 文件名全部小写,并遵循如下的规范:a.数据/内容显示页:名词,多个单词用下划线分隔,要求能说明显示内容的信息,为避免冲突,可加上 “_l
2、ist”。 例如:new_message.html 或 my_file_list.jspb.操作处理页命名格式:名词_ 下划线_ 动词,例如:file_delete.jsp 。c.含 frame 页面中的 name 属性命名的格式是xxx_xxx_xxx xxx 部分用来标识当前页面隶属于整个系统中的哪一功能模块。如:属于 ebwebmail 模块则写 ebwebmail,其它情况依次类推。 xxx 部分标识当前页面所要完成的功能。如:完成用户登录的功能则被标识为 login,其它情况依次类推。xxx 部分用来用来表示页面在浏览器窗口所处的位置。 处于浏览器窗口的顶部则标识为 top,其它情况
3、依次类推。例如:ebwebmail_inbox_top.jspsrc 属性相应的文件名根据情况建议在原命名规范上用下划线加上所处窗口的位置。2、 javascript 脚本文件命名方式:脚本函数都以xxx_xxx 的方式命名。xxx 对应页面隶属的模块。xxx 表示函数所要实现的功能(动宾结构) ,多个单词用下划线连接。例如:ebwebmail_send_mail()模块通用的脚本函数必须集合于一个 js 文件中,在页面上通过 形式导入。js 文件名命名使用模块名,例如:ebwebmail.js。如果项目已经提供了公共 js 脚本,则优先使用公共 js 脚本中提供的函数。所有定义方法的元素定义
4、在 中或 后。3、 javascript 脚本内部变量与参数单词之间用下划线分隔且全部小写,例如: var file_size。表单 name 属性统一以“form_”开头,其后加该表单所需收集的信息的作用或动作,例如:form_file_upload 或 form_send_mail。表单 elements表单 element 的名称以 element 需收集的信息标示命名(与 struts 中的属性名对应) ,其他 element 单词之间使用下划线分隔且全部小写,例如:-username 为 struts 中的属性名 username-不与 struts 对应表单元素名4、 cookie
5、 命名命名格式:模块名_ 存储信息名词( 多个单词用下划线分隔) ,全部大写,例如:EBWEBMAIL_SORT_TYPE。5、 window.open 中 name 参数的命名javascript 的 window.open 方法中有一个 name 的参数,浏览器约定同样的名字的窗口只能打开一个,如果程序间名字重复将相互冲突。如果不限制打开窗口数,可以指定或“”(不是 null) ,否则需要加上模块名,例如 ebwebmail_viewmail。3.4 数据库命名规范数据库表命名均遵循以下规范:模块名_存储信息名词 (多个单词用下划线分隔),全部小写,例如:ebwebmail_message
6、。数据库字段命名遵循以下规范:存储信息名词(多个单词用下划线分隔 ),全部小写,例如: message_id。4、文档规范1. 编写文档目前主要使用的工具是 Word(项目计划文档例外,需要使用 Project 制作) ,辅助使用的工具有 Visio,PowerPoint,Excel 等。2. 文档务必保持段落格式整齐,文字字体,颜色,大小统一。3. 如果需要摘引 html 页面中的内容,不能直接从 html 中粘贴过来(会在 word 文档中留下 html 格式) ,而必须先去除格式,例如:先粘贴到 notepad 中。4. 务必注意中英文标点符号,文档正文一概使用中文标点符号。5. 如果需
7、要在文档中插图,不要使用 word 自带的绘图工具。可以选择使用 PowerPoint或 visio。使用 PowerPoint,选择“插入”-“ 对象”-“Microsoft PowerPoint 幻灯片” 。使用 visio,需要另外建立 visio 文档,绘制完以后粘贴到 word 中。6. 数据建模使用 powerdesigner 工具,文档中仅需要粘贴数据模型的逻辑视图( logical view) ,另外还要附上表结构描述。7. 修改他人文档务必使用修订模式,以便保留备修改的内容。使用修订模式,选择“工具”-“修订 ”-“突出显示修订 ”,勾上“编辑时标记修订” 。附:一些模版Ja
8、va 类设计文档(class documentation)声明:描述:创建人:创建时间:属性:1. property_name声明:说明 :创建人:创建时间:方法: 1. method_name声明 :说明 :参数 :返回值 :异常:创建人:创建时间:如需修改加上:修改人:修改时间:修改原因:三个描述信息注:方法声明中,如果遇到重载的方法,可以使用“|”表示可以接受不同类型的参数,例如:“String value | int value”;可以使用“”表示可选的参数,例如:“Object message,Throwable t”Servlet 设计(servlet document)类名 接受
9、参数列表 描述数据表设计(data modeling)表名:some_table说明:description表结构:字段名 类型 说明5、代码规范5.1 Java 源代码规范5.1.1 命名1、 Package 的命名Package 的名字应该都是由一个小写单词组成,例如:net.ebseries.modules。此外,对于包名我们做如下约定:1. 工具函数类包名前缀为.util2. Servlet 类包名前缀为 .servlet3. test case 类包名前缀为.test2、 Class 的命名Class 的名字必须由大写字母开头而其他字母都小写的单词组成,例如:DataFile或 In
10、foParser。3、 Class 变量的命名变量的名字必须用一个小写字母开头。后面的单词用大写字母开头,例如:debug 或 inputFileSize。4、 Static Final 变量的命名Static Final 变量的名字应该都大写,并且指出完整含义,例如:MAX_UPLOAD_FILE_SIZE=1024。5、参数的命名参数的名字必须和变量的命名规范一致。使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字:setSize(int size)this.size = size; 6、数组的命名数组应该总是用下面的方式来命名:byte buffer;而不是:byte bu
11、ffer;7、方法的命名方法的命名以一个小写字母开头。后面的单词用大写字母开头,例如:debugMethod() 或 inputFile()。5.1.2 代码格式文件头声明源文件的头部需要一个 history 段,对于每次对源文件的重大改动,都需要在history 段中注明。该段定义在 package 和import 之间,例如:* HISTORY* * 2002/01/29 Biz 创建文件* * 2002/02/19 kevin 增加 XX 功能*2002/03/01 ben 增加 xx 功能*/import 顺序import 包按一下顺序:1. jdk 标准包2. java 扩展包(例如
12、 servlet,javamail,jce 等)3. 使用的外部库的包(例如 xml parser)4. 使用的项目的公共包5. 使用的模块的其他包每一类 import 后面加一个换行。例如:import java.io.*;import java.util.*;import javax.servlet.*;import javax.mail.*;import org.apache.xml.*;import net.ebseries.*;import net.ebseries.util.*;import net.ebseries.ebwebmail.*;代码块书写格式可以选择以下任意一种代码块
13、的书写方式:if (true)/body或if (true)/body建议使用第二种书写方式。如果是修改他人的代码,必须使用代码原来的书写方式。对于代码块过长,超过 1 屏以上, 后面要说明属于那个代码块,例如:if (i 100)/too many lines more than one screen/ if (i 100) 关于缩进缩进使用 4 个连续空格,不要在源文件中保存 tab 字符, 请注意调整所用的 IDE工具,打开将 tab 转换为空格功能。页宽页宽应该设置为 80 字符. 源代码一般不会超过这个宽度 , 并导致无法完整显示, 但这一设置也可以灵活调整. 在任何情况下, 超长的
14、语句应该在一个逗号或者一个操作符后折行. 一条语句折行后, 应该比原来的语句再缩进 4 个空格。操作符操作符左右各用一个空格分隔。例如:int a = b;if (a 0);SQL 语句代码中书写的 sql 语句要求 sql 关键字全部大写,表名和字段名小写。例如:SELECT user_id, name FROM account WHERE user_id ? AND depart = ? ORDER BY name类和方法定义类定义或方法定义过长需要换行书写,例如:public class CounterSetextends Observableimplements Cloneablepr
15、ivate PortletSet getPortlets( Portlets portlets, RunData rundata, boolean application, boolean applicationsOnly )5.1.3 注释public 和 protected 的成员变量和方法必须写 javadoc 注释。超过 1 句以上的注释使用中文书写。对于代码多于 10 行的 private 方法也要写 javadoc 注释。对于代码中的逻辑分支或循环条件需要书写注释,例如:if (some condition)/符合某个条件,应该这样处理else/否则应该那样处理 5.1.4 其他关于属性类中的属性不能定义为 public 变量直接存取,而是定义成 protect 变量并编写get/set 方法,例如:protect String myName;public String getMyName()return myName;public void setMyName(String myName)this.myName=myName;5.2 jsp/html 代码规范1、 jsp/html 描述注释jsp/html 页面顶部必须存在一个基本描述注释,包含功能描述、参数列表和历史修改信息,例如:2、 jsp 头格式jsp 头部一般需要遵循以下格式:/ jdk