04编码规范JAVAJSPv100.docx

上传人:b****5 文档编号:5726577 上传时间:2022-12-31 格式:DOCX 页数:25 大小:196.40KB
下载 相关 举报
04编码规范JAVAJSPv100.docx_第1页
第1页 / 共25页
04编码规范JAVAJSPv100.docx_第2页
第2页 / 共25页
04编码规范JAVAJSPv100.docx_第3页
第3页 / 共25页
04编码规范JAVAJSPv100.docx_第4页
第4页 / 共25页
04编码规范JAVAJSPv100.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

04编码规范JAVAJSPv100.docx

《04编码规范JAVAJSPv100.docx》由会员分享,可在线阅读,更多相关《04编码规范JAVAJSPv100.docx(25页珍藏版)》请在冰豆网上搜索。

04编码规范JAVAJSPv100.docx

04编码规范JAVAJSPv100

 

开发质量管理规范

JAVA&JSP编码规范

(V1.0.0)

 

 

2011年5月

亚信联创股份有限公司

 

文档信息

文档名称

JAVA&JSP编码规范

编制部门

计费需求开发部(CTCBillingRequirementDevDept.)

文档编号:

BR_Dev_004

文档变更记录

版本编号

版本日期

作者

说明

V1.0.0

2011-5-6

陈丽

初稿

审核

审核组织

审核代表

签字

时间

计费需求开发部

陈光进

陈光进

2011-5-6

批准

批准组织

批准代表

签字

时间

目录

1前言1

2基本原则1

3文件目录1

3.1工程目录结构命名规范与约定1

3.2项目结构图2

4JAVA编码规范3

4.1编码命名规范3

4.1.1命名规范与约定3

4.1.2编码命名与规范3

4.2配置文件方面5

4.2.1Ibatis配置文件命名规范5

4.2.2Ibatissql/类映射命名规范5

4.3Struts配置方面6

4.3.1Struts.xml配置文件命名6

4.3.2StrutsAction类命名6

4.4Spring命名7

4.4.1Springxml配置文件命名7

4.4.2配置文件规定7

5JavaScript编码规范8

5.1JavaScript公用js文件引入8

5.2JavaScript实例分析8

5.2.1一段可读性和维护极差的代码8

5.2.2未使用公共函数,内置方法9

5.2.3变量名定义混乱9

5.2.4document.all避免使用9

5.2.5乱注释,全是些无用注释9

5.2.6总体混乱10

5.3Javascript常见问题10

5.3.1Javascript代码块应该放到标签内10

5.3.2错误的Javascript代码块的放置11

5.4Javascript技巧11

5.4.1如果值无效返回默认值11

5.4.2如何取得变量的值11

5.4.3面向对象的Javascript有效避免命名冲突12

5.5Javascript编码规范12

5.5.1JavaScript文件12

5.5.2缩进13

5.5.3每行长度13

5.5.4注释13

5.5.5变量声明14

5.5.6函数声明14

5.5.7命名15

5.5.8语句16

5.5.9另外的建议19

5.5.10空白20

5.5.11{}和[]20

5.5.12(,逗号)操作符20

5.5.13作用域20

5.5.14赋值表达式20

5.5.15===和!

==操作符21

5.5.16令人迷惑的加号和减号21

5.5.17需要避免的语句21

1前言

编写本标准的目的是为了统一公司Java语言的风格,提高软件代码的可读性、可靠性和可重用性,从而提高生产效率,降低成本,保证软件产品的质量。

本规范适用于公司所有用Java语言编制的软件源程序。

自本标准实施之日起,以后新编写的代码均应执行本标准。

若有用户要求,以用户要求为准。

2基本原则

基本原则为编程时应该坚持的指导思想。

【原则1】保持代码的简明清晰,避免过分的编程技巧。

【原则2】所有的代码尽量遵循ANSIC标准。

【原则3】编程时首先达到正确性,其次考虑效率。

【原则4】避免或少用全局变量。

【原则5】尽可能重用、修正老的代码。

3文件目录

3.1工程目录结构命名规范与约定

编码模块

目录名称

目录说明

描述

Java编码目录

Src

存放java类源码

Ailkcomm

系统共用模块、底层目录

ailkcomm/com/ailk/util

常用工具类目录

如日期操作、字符串操作等。

src/com/ailk/项目名称

项目目录

如:

/src/com/ailk/fs。

src/com/ailk/comm

项目共用模块目录

如:

机构树使用等等。

configs

项目配置文件目录

src/com/ailk/fs/account

模块目录

Account模块名称

src/com/ailk/fs/audit/action

Action目录

注意:

每个业务模块下都有该目录

src/com/ailk/fs/audit/domain

接口类目录

注意:

每个业务模块下都有该目录

src/com/ailk/fs/audit/domainimpl

实现类目录

注意:

每个业务模块下都有该目录

src/com/ailk/fs/audit/configs

业务模块配置目录

注意:

每个业务模块下都有该目录

Jsp编码目录

WebRoot/pages

存放前台展现的jsp文件

WebRoot/pages/account

存放jsp文件模块目录

该目录必须同后台处理的src目录下的模块目录一一对应

WebRoot/css

存放jsp样式文件

WebRoot/js

存放js文件

WebRoot/images

存放图片资源文件

3.2项目结构图

4JAVA编码规范

4.1编码命名规范

4.1.1命名规范与约定

文件类型

规范

描述

例子

Package命名

1.项目包名统一前缀:

ailk

2.名称统一都使用小写

ailk公司简称

/src/com/ailk

Class之接口类命名

1.采用模块名称+Dao结束

2.使用驼峰命名法

AuditFormatDao.java

Class之实现类命名

1.采用模块名称+Impl结束

2.使用驼峰命名法

AuditFormatImpl.java

JSP文件命名

1.文件命名使用英文命名,可以由多个英文单词组合而成。

2.第一个单词小写,后面的单词头字母大写。

例如:

员工权限管理:

staffRoleMgr.jsp

1.对于同一页面区分增加、修改页面的,文件名的末尾可以增加动作名称。

例:

权限管理页面下增加员工权限:

staffRoleAdd.jsp

4.1.2编码命名与规范

类型

规范

描述

例子

包和引入语句

在Java源文件中,第一个非注释行是包语句。

在它之后可以跟引入语句。

注意:

引入语句要使用精确引入。

包名全部为小写

例如:

packagejava.awt;

importjava.awt.peer.CanvasPeer;

例如:

importjava.awt.peer.CanvasPeer;

而不是

importjava.awt.peer.*;

方法命名

1.动词+名词+条件的方式来命名,首字母小写,其他单词首字母大写。

2.查询方法:

动词采用get(无条件查询),qry(有条件查询)

3.修改:

动词采用mod

4.删除:

动词采用del

5.新增:

动词采用add

6.其他:

以实际动词为准

7.类内部变量的访问使用getXxx,setXxx方法实现。

PublicStringaddStaffRole()

publicStringetStaffPrivilege()

publicStringmodRole()

publicStringdelRole()

publicStringqryRole()

方法编码

1.一个方法里面的代码行数不能超过50行

2.每一个方法与变量都必需做相应注释

3.不建议使用全局静态变量static,除非是定义常量

4.排版规范建议使用MyEclipse自带工具处理,使用快捷键是:

在编辑的代码窗口按Ctrl+Shift+F键处理。

这样子速度快,又能统一格式。

变量、参数命名

1.使用首个字母小写,代表所声明的数据类型第一个字母,后面单词首个字母大写,并尽量使用有意义的单词,并写清楚注释。

2.生命周期短的临时变量(如循环语句中用到的变量)中通常用i,j,k,m和n表示整数,并在使用时声明。

3.staticFinal变量的名字应该都大写,单词之间用“_”隔开,并且指出完整含义。

4.数组命名,数组应该总是用下面的方式来命名:

byte[]buffer。

StringsUserName;

For(inti=0,i<100,i++)

Stringc;

StaticStringAPP_ID

注释

1.方法头注释

/**

*Function:

将数据库中获取的字段大写=》小写

*@paramlist

*@return

*@authorwangyz2010-7-30

*

*/

配置方法:

window-》preferences-》java-》codestyle-》codetemplates-》comments-》methods

点击左边的edit,然后复制进去就可以了。

按alt+shift+Z增加注释

2.方法内代码单行注释

if(search!

=null){

//获取父节点

BssOrgList=bssOrgFacade.getBssParentOrg(search);

}else{

//获取子节点

BssOrgList=bssOrgFacade.getBssOrg(search);

}

returnSUCCESS;

3.成员变量注释

public的成员变量必须要有注释,直接在变量名后面增加。

如:

StaticStringAPP_ID//程序标识

proceted、private和package定义的成员变量如果名字含义明确的话,可以没有注释

时间格式处理

时间的处理格式,例子如:

把String类型转换为时间类型如:

Stringdate=“2010年9月1日”;

Datesdate=DateUtil.getDate(DateUtil.YYYY$MM$DD$,date);

Date类型转String类型

Stringdate=DateUtil.getFormate(DateUtil.YYYY$MM$DD$,newDate());

其他按照先去定的格式标准

4.2配置文件方面

4.2.1Ibatis配置文件命名规范

Ibatis配置文件统一放置在configs目录下

对于工具生成的配置文件,根据工具生成的命名为准。

对于自行编写的,一般采用:

模块名-sqlMap.xml的命名方式

比如:

system-sqlMap.xml

4.2.2Ibatissql/类映射命名规范

Namespace以模块名称定义。

如:

SQL映射建议以操作动词+操作表名,并在SQL块之前加上注释

例如:

--初始化查询-->

selectb.bss_org_level_idfromrole

--增加操作:

-->

insertintorole

(role_id,role_name,role_desc,bss_org_level_id)

values

(seq_role_id.nextval,#role_name#,#role_desc#,100)

--删除操作:

-->

deleterolewhererole_id=#role_id#

--修改操作-->

updaterolesetrole_name=#role_name#,role_desc=#role_desc#

whererole_id=#role_id#

--数据查询:

-->

selectrole_id,role_name,role_desc

fromrole

whererole_id=#role_id#

4.3Struts配置方面

4.3.1Struts.xml配置文件命名

Struts配置文件统一放置在configs目录下:

命名规则统一遵照struts+模块名称,如:

struts-system.xml

4.3.2StrutsAction类命名

StrutsAction类统一采用采用“Action名称+方法名称”来命名

比如前台操作帐户信息的action:

采用AccountAction.java

例如:

--增加角色-->

--删除角色-->

--修改角色-->

--查询角色-->

4.4Spring命名

4.4.1Springxml配置文件命名

采用:

applicationContext-模块名.xml的命名方式

例如:

applicationContext-system.xml

4.4.2配置文件规定

Beanid命名规则以模块+接口名称,例如:

.

5JavaScript编码规范

5.1JavaScript公用js文件引入

对于系统各界面公用的功能块,如导航菜单等,统计引用all.js,便于后续增加的公用功能的扩展。

5.2JavaScript实例分析

5.2.1一段可读性和维护极差的代码

5.2.2未使用公共函数,内置方法

可以修改为下面的方式,简单明了:

5.2.3变量名定义混乱

ss是什么意思,如果这个变量用到其他地方,谁知道他是什么意思。

做如下更改。

5.2.4document.all避免使用

不建议使用IE下的古老方法,只适用于IE,可以替换为$E()

替换为:

5.2.5乱注释,全是些无用注释

这些注释完全没用,反而增加了代码的晦涩程度,这种注释开发完成后应该删除掉。

没有注释,请告诉我这段代码干了些什么?

5.2.6总体混乱

逻辑比较复杂的脚本需要拆分为几个方法,这样才能是脚本清晰易懂,易于维护。

5.3Javascript常见问题

5.3.1Javascript代码块应该放到标签内

5.3.2错误的Javascript代码块的放置

5.4Javascript技巧

5.4.1如果值无效返回默认值

原始代码:

简化后的代码:

5.4.2如何取得变量的值

5.4.3面向对象的Javascript有效避免命名冲突

改造前的代码,init在目前系统中会被其他js库的init方法给覆盖掉,导致一些莫名其妙的错误。

迫使我们将方法名命名复杂点,但是造成方法同名的问题概率也是比较高的,最好的办法就是建立命名空间的概念,解决这个问题!

改造后的代码,不会存在命名冲突的问题

5.5Javascript编码规范

5.5.1JavaScript文件

JavaScript程序应独立保存在后缀名为.js的文件中。

JavaScript代码不应该被包含在HTML文件中,除非这是段特定只属于此部分的代码。

在HTML中的JavaScript代码会明显增加文件大小,而且也不能对其进行缓存和压缩。

filename.js应尽量放到body的后面。

这样可以减少因为载入脚本而造成其他页面内容载入也被延迟的问题。

也没有必要使用language或者type属性。

MIME类型是由服务器而非scripttag来决定的。

按照Web标准而言,建议指定type属性,并将

相关搜索

当前位置:首页 > 外语学习 > 英语学习

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

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