J2EE项目开发编码规范Word文档下载推荐.docx

上传人:b****6 文档编号:19264936 上传时间:2023-01-04 格式:DOCX 页数:23 大小:54.97KB
下载 相关 举报
J2EE项目开发编码规范Word文档下载推荐.docx_第1页
第1页 / 共23页
J2EE项目开发编码规范Word文档下载推荐.docx_第2页
第2页 / 共23页
J2EE项目开发编码规范Word文档下载推荐.docx_第3页
第3页 / 共23页
J2EE项目开发编码规范Word文档下载推荐.docx_第4页
第4页 / 共23页
J2EE项目开发编码规范Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

J2EE项目开发编码规范Word文档下载推荐.docx

《J2EE项目开发编码规范Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《J2EE项目开发编码规范Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

J2EE项目开发编码规范Word文档下载推荐.docx

byte

byt

bytPixel

boolean

bln

blnEmpty

double

dbl

dblSalary

float

flt

fltSalary

String

str

strUserName

char

chr

chrDrive

Object

obj

objAccount

1.4常量命名

所有常量名均全部大写,单词间以‘_’隔开。

常量名称

MAX_NUM

最大数

publicstaticfinalStringFUNCTION_LIST="

function_list"

;

1.5方法命名

方法命名采用“动作+属性”的方法。

并且,动作以小写字母开始,属性以大写字母开始。

常用的动作有:

is、get、set、save、add、del等。

getName、setName、isSysManager、saveXXX、mdfXXX、delXXX等。

规则名称

规则

说明

新增数据

addXXX

修改数据

updateXXX

变更数据

alertXXX

删除数据

delXXX

查看详细信息

viewXXX

查询数据

queryXXX

进入某个功能页面

entryXXX

下一步

next、nextToXXX或entryXXX

1.6其他命名

开发人员如果遇到上述表格中未列举的类型,请书面通知相关管理人员,由管理人员集中更新列表内容,不得擅自启用未经确定的新变量前缀。

2编码规范

2.1程序基本构成

a)公用元素

公用元素指“公用变量”、“公用类”等,由于公用元素对程序中所有类都是可见的,故对它们的修改将会对整个程序造成影响。

“公用变量”过多也会破坏数据的隐藏性,与“面向对象编程”的规范不符。

所以,公用变量的使用请慎重考虑。

b)函数返回值

注意函数返回值的初始化。

c)代码段注释

“//”注释用于对程序的注解等。

“/*....*/”注释用于对程序修改时临时删除部分程序代码。

注:

是否作为“临时代码删除和对程序的注释”仅作为参考,根据具体情况而定

d)设定初值

所有变量均应设定其初值,而且变量的初值不应依靠编译程序自动设定。

e)错误返回值

调用方法后,应检查errno或方法返回值,以确定操作是否完成。

若返回错误,返回对应的错误编码。

f)内存释放

当原先分配的内存不在需要时,应将其释放。

g)类及方法注释

在类、方法开始之前需要添加中文注释,类和方法的注释采用Java自动生成的注释格式,即输入/**回车后生成的注释格式。

●类注释

【格式】

/**

*类功能说明

*类修改者修改日期

*修改说明

*<

p>

Title:

ZDK<

/p>

Description:

南华中天J2EE运行支撑及快速开发平台<

Copyright:

Copyright(c)2006<

Company:

重庆南华中天信息技术有限公司<

*@author类创建者名字 创建日期

*@version版本号

*/

●函数注释

*函数功能说明

*创建者名字创建日期

*修改者名字修改日期

*修改内容

*@param参数名称参数类型参数说明

*@return返回值类型返回值说明

*/

循环语句和判断语句前必须注释。

特殊变量声明时需要注释。

●程序段注释

如果做过修改需加上修改者和日期

//修改者修改日期说明

或者

*修改者修改日期

*说明

●变量或属性注释

//说明

*说明

2.2代码格式

格式缩进

用分层缩进的写法显示嵌套结构的层次;

巢串式陈述句应比外层陈述句内缩四格。

【范例】

importjava.util.*;

importjava.awt.*;

importjava.applet.Applet;

importjava.awt.event.*;

importjavax.swing.*;

publicclassWFextendsJAppletimplementsActionListener{

WFPanelwfpanel;

PanelcontrolPanel;

WFPropwfprop;

NodePropnodeprop;

EdgePropedgeprop;

JButtonjbAddNode=newJButton("

添加节点"

);

JButtonjbAddEdge=newButton("

添加路由"

JButtonjbDelNode=newButton("

删除节点"

JButtonjbDelEdge=newButton("

删除路由"

JButtonjbClose=newButton("

关闭"

privateJPaneljpPane=null;

privateJToolBarjtbTools=null;

privateJPaneljpCanvas=null;

privateJNodePropjnpNodeProp=null;

}

【说明】适当内缩后的程式能表现出逻辑结构,并增进可读性,易于理解。

publicclassWFextendsJAppletimplementsActionListener{

PanelcontrolPanel;

空白行

逻辑上相关序代码与其前后之程序代码间应以空白行加以分隔;

在注释段与程序段、以及不同程序段插入空行。

每行只写一条语句。

【说明】适当地使用空白行可以使程序的逻辑结构更清楚,而提高其可读性。

2.3异常处理

在当前的系统架构中,系统自下而上被分为持久化层(OP)、业务处理层(BP)、请求处理层(RP)、struts、界面层(UI),本规范约定了持久层、业务处理层、请求处理层的异常处理机制。

I异常处理总原则

1.下层只向上层抛一类异常。

业务处理层只向请求处理层抛ApplicationException异常。

2.为了使系统能够更好的跟踪运行情况,必须把底层异常放入新异常中。

thrownewApplicationException("

查询单位时发生系统异常"

e)

3.如果一个层要抛出多个异常,那么所有自定义异常必须统一继承一个父类异常。

这样上层可以通过父类异常捕获

4.异常统一在请求处理层(rp层),即action里进行处理,请求处理层以下的层次在处理异常时,只需要把底层的异常类放到本层约定的异常类中,并抛出,如有需要可以加适当的异常消息,并不需要记录LOG,LOG在框架里会自动处理。

II请求处理层的异常处理

所有的action继承于BizDispatchAction、BizLookupDispatchAction或CommonQueryAction,在异常处理的时候直接调用父类的saveErrors方法

try{

enterprise=service.search(newLong(

enterpriseID));

BeanUtils.copyProperties(myform,enterprise);

log.info("

Enterprise="

+enterprise.getName());

}

catch(NumberFormatExceptionex){

saveErrors(request,ex,"

数据格式化出错!

"

III页面层异常的处理

引入xxx标签库,然后在页面中加入<

xxx:

errors/>

标签,页面就会自动将Action中保存的错误信息取出,显示在弹出窗口。

<

%@tagliburi="

lemis.tld"

prefix="

lemis"

%>

html>

body>

/body>

/html>

2.4事务处理

当前的系统架构中支持嵌套事务,事务管理必须通过系统框架提供的事务管理类(TransManager)来完成。

1)事务调用方法

●开始事务

trans.begin()

●提交事务

mit()

●回滚事务

trans.rollback()

事例代码

trans=newTransManager();

flag=trans.begin();

//事务开始

if(1==flag)

mit();

//事务提交

}catch(OPExceptione){

try{

//事务回滚

trans.rollback();

}catch(OPExceptione1){

thrownewApplicationException(e1);

}

thrownewApplicationException(e);

2.5页面文件部署

(一)页面部署总原则

1.文件夹名称全部小写

2.jsp文件名称小写开头

(二)页面部署清单

名称

位置

Css样式表单

cqxxx\css

Xxx是项目名称的缩写

图片

cqxxx\images

Javascript

cqxxx\js

Htc

cqxxx\htc

标签库配置文件(tld)

cqxxx\WEB-INF

Struts配置文件

引入的包

cqxxx\WEB-INF\lib

xxx的配置文件

cqxxx\WEB-INF\conf

Hibernate的配置文件

cqxxx\WEB-INF\classes

Jsp文件

cqxxx\。

二框架包结构

所有包名以”zenith.ep.xxx”开始。

其中“xxx”为各子项目的名称。

按功能模块划分包:

log:

该包中定义和日志有关的类;

exception:

该包中定义自己的异常类;

web:

该包中定义所有和表现层有关的类;

子包:

servletproxy:

存放servlet处理标签组件的AJAX请求

tag:

存放标签类

子包

model存放标签支持类(组件的数据处理类)

validator存放标签校验类

template:

存放模板处理类

i18n:

存放国际化处理类

util:

该包中定义通用工具类

common:

公共属性类

三标签组件命名规范

1组件名称

以标准的HTML元素为准,如果是组合元素取名时可参考VB的命名规则。

2属性

命名规则同上,尽量用相同含义英文单词表示,小写字母开头,多个英文单词之间以大写字母间隔,不允许‘_’、‘-’等符号,如:

custName;

3属性常量

属性常量命名规则可参考HTML元素手册或VB的标准控件。

前后台命名一致

增加常量后应在常量记录表中增加记录,避免命名重复和查看。

所用组件

组件属性

取值

常量说明

window

state

MIN_WINDOW

最大化窗口

MAX_WINDOW

4方法

命名规则同上,尽量用相同含义英文单词表示,小写字母开头,多个英文单词之间以大写字母间隔,不允许‘_’、‘-’等符号,如:

5事件

命名规则同上,事件以on开头,如:

onclick

四javascript编码规范

1.1类命名

以xxx为根类,其功能类以“.”符号+类名进行定义如xxx.Base

1.2属性命名

命名规则同JAVA。

1.3方法命名

私有方法用前面加”_”符号进行区别。

全局函数前面加”g”符号进行区别

1.4变量命名

命名规则同JAVA

局部变量前面加”_”符号进行区别。

(可选)

全局变量前面加”g”符号进行区别。

1.5其他命名

请参看JAVA编码规范

必须以Prototype.js所定义的原形进行编码。

所有的组件类必须继承ZenithTag.Base基类。

每个类必须有initialize类初试化函数

_SetOptions初试化属性函数

._SetListeners绑定事件函数

在_SetOptions中必须调用基类的_setBaseOptions函数设置基类的属性

代码格式如下:

ZenithTag.Select=Class.create();

//构造函数

ZenithTag.Select.prototype=Object.extend(newZenithTag.Base(),{

//类原形定义继承ZenithTag.Base()类

initialize:

function(url,options){//类初试化函数url处理请求的urloptions传入参数对象

this.url=url;

//得到处理请求的url

this._SetOptions(options);

//设置初始参数

this._SetListeners();

//设置事件监听

},

//设置初始参数

_SetOptions:

function(options){

this._setBaseOptions(options)//设置基类的属性

this.options=Object.extend({

Id:

options.Id,//控件ID

Type:

options.Type?

options.Type:

"

0"

//控件类型

Color:

options.Color?

options.Color:

#000000"

}),

_SetListeners:

function(){//设置事件监听

this.Button.onclick=this._OnShowPopup.bindAsEventListener(this);

//绑定单击按钮事件弹出下拉窗口

this.InputText.parentElement.onclick=this._OnShowPopup.bindAsEventListener(this);

this.InputText.onchange=this._OnInputChange.bindAsEventListener(this);

//绑定输入框内容改变事件

},}

五国际化

1实现国际化的要求

要实现国际化必须统一使用UTF-8字符集(包括,jsp页面,js文件,request,response,和数据库字符集)

2系统需要国际化的部分

●控件提示(tooltip),及要控件中需要显示到页面上的文本部分

●用户消息提示(包括错误,成功消息)

●javascript字符

●日志,

资源文件始终提供默认资源文件,使用时也可以硬编码指定资源文件。

默认资源文件名称为:

ApplicationResources.properties,与struts默认资源文件名称同名

3资源文件key命名规则

●jsp文件key命名规则

jsp.jsp目录路径.jsp页面名称.key名称

●java类文件key命名规则

包名.类名.key名称

4资源文件编码方法

需要使用jdk/bin目录下面的native2ascii.程序,首先设置setpath=xxx/jdk1.4/bin,然后在命令行进入资源文件目录运行naive2ascii程序

【语法说明】

native2ascii原资源文件名称.properties-encoding编码原资源文件名称_国家后缀.properties

native2asciiApplicationResources.properties-encodinggb2312ApplicationResources_zh_CN.properties

六HTML模版编写规范

HTML元素ID命名规范

如果组件是多个HTML元素组成。

其ID命名规则如下

1.客户端JS需要调用的HTML必须有ID

2.保存组件值用于表单提交的元素的ID=用户定义的组件ID

3Id命名必须体现元素之间的层次关系

4命名格式为用户定义的组件ID+组件名称+该元素的功能或元素类型

如窗口组件命名

DIVid="

组件id_window"

>

//窗口容器控件

<

组件id_window_frame"

//窗口边框

组件id_window_title"

>

//窗口标题栏

dibid=“组件id_window_title_img”>

//窗口标题图片

id_window_title"

//窗口标题

…………………………………..

/div>

./div>

1.1模版文件命名规范

如果是单个模版标签组件名称.ftl

如果模版有子模版命名规则为标签组件名称.+”_”+子模版名称

1.2模版变量命名规范

模版变量命名格式:

标签组件名称+”_property”

1.3模版调用规范

引用包

importzenith.ep.xxx.web.template.TemplateProcesser;

调用方式

Mapentitys=newHashMap();

entitys.put("

label_property"

this);

try{

TemplateProcesser.processTemplate("

label.ftl"

entitys,

pageContext.getOut(),

pageContext.getServletContext());

catch(ZDKExceptionex){

thrownewJspException(ex.getMessage(),ex);

七Web文件目录规范

1.1目录分类

xxx//根目录

……css//存放样式文件

……images///存放图片

……js//js文件根路径

…………lib//js引用文件路径

…………tag//存放标签类路径

…….templates//存放模版路径

1.2常量的划分与存放规则

常量分为前台常量,后台常量,标签属性常量和标签内部国际化提示字符常量。

前台常量放在constant.js文件中,命名格式为Constant.+”常量名称”,例如:

Constant.TYPE_BUTTON="

button"

//普通按钮"

后台常量放在GlobalNames,命名格式publicfinalstatic+常量类型+常量名称,例如:

publicfinalstaticbooleanUSE_I18N=tr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1