J2EE平台开发规范.docx

上传人:b****8 文档编号:9820129 上传时间:2023-05-21 格式:DOCX 页数:34 大小:33.78KB
下载 相关 举报
J2EE平台开发规范.docx_第1页
第1页 / 共34页
J2EE平台开发规范.docx_第2页
第2页 / 共34页
J2EE平台开发规范.docx_第3页
第3页 / 共34页
J2EE平台开发规范.docx_第4页
第4页 / 共34页
J2EE平台开发规范.docx_第5页
第5页 / 共34页
J2EE平台开发规范.docx_第6页
第6页 / 共34页
J2EE平台开发规范.docx_第7页
第7页 / 共34页
J2EE平台开发规范.docx_第8页
第8页 / 共34页
J2EE平台开发规范.docx_第9页
第9页 / 共34页
J2EE平台开发规范.docx_第10页
第10页 / 共34页
J2EE平台开发规范.docx_第11页
第11页 / 共34页
J2EE平台开发规范.docx_第12页
第12页 / 共34页
J2EE平台开发规范.docx_第13页
第13页 / 共34页
J2EE平台开发规范.docx_第14页
第14页 / 共34页
J2EE平台开发规范.docx_第15页
第15页 / 共34页
J2EE平台开发规范.docx_第16页
第16页 / 共34页
J2EE平台开发规范.docx_第17页
第17页 / 共34页
J2EE平台开发规范.docx_第18页
第18页 / 共34页
J2EE平台开发规范.docx_第19页
第19页 / 共34页
J2EE平台开发规范.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

J2EE平台开发规范.docx

《J2EE平台开发规范.docx》由会员分享,可在线阅读,更多相关《J2EE平台开发规范.docx(34页珍藏版)》请在冰点文库上搜索。

J2EE平台开发规范.docx

J2EE平台开发规范

 

公司J2EE平台开发规范

 

变更历史

版本

说明

日期

作者

0.1

初稿

2015-05-025

目录永丰er确ey个完整系统不可缺少的元素之一,在系统开发过程________________________________________________________________________________________________目录

1规范总则4

2准备开发环境4

3代码组织与风格4

3.1缩进4

3.2间隔5

3.3对齐5

3.4括号5

4注释规范6

4.1基本原则6

4.2JavaDoc6

4.3类与接口注释6

4.4方法注释7

4.5常量定义注释7

4.6配置文件注释8

5命名规范8

5.1命名原则8

5.2包命名8

5.3Jsp命名9

5.4Action命名9

5.5Façade命名9

5.6Service命名9

5.7BO命名9

5.8DAO命名10

5.9DTO命名10

5.10方法命名10

5.11常量命名10

5.12变量和参数命名11

5.13JNDI资源命名11

5.14异常命名11

6声明与定义11

6.1导入包11

6.2类与接口11

6.3方法11

6.4字段12

7表达式与语句12

7.1控制语句12

7.2循环语句13

8目录结构13

8.1开发目录13

8.2部署目录14

9系统配置文件14

10组件调用规范15

11组件开发规范15

11.1JSP开发规范15

11.2Action开发规范15

11.3Façade开发规范16

11.4Service开发规范16

11.5BO开发规范16

11.6DAO开发规范17

11.7SAO开发规范17

11.8DTO开发规范17

12异常处理规范17

12.1平台异常种类17

12.2错误的处理方法17

12.3正确的处理方法18

13数据库脚本规范18

14日志打印规范19

15UI开发规范19

16版本控制规范19

17其它规范19

18常见的性能问题20

18.1String与StringBugffer20

18.2集合20

18.3同步20

18.4final20

19单元测试20

19.1基本原则20

19.2测试方法21

 

1规范总则

杜绝个性,力求一致,达到方便自己维护、易与他人沟通的目的;同时培养开发人员自身好的编码习惯,形成公司统一的代码风格。

本规范来源于行业惯例和实战经验,关注项目开发中的如下几个方面:

1、开发目录结构;

2、引用的第三方支撑包版本(JDK、Spring、Hibernate、Struts、Ext等);

3、文件命名、方法命名、变量常量命名规则;

4、代码结构、内容布局;

5、UI风格(包括整体布局、色调、字体大小、菜单风格、按钮图标等);

6、注释方式(包括类注释、文件注释、方法注释、代码注释等);

7、代码版本控制;

8、异常处理方式(包括抛出异常、处理异常);

9、日志打印方式。

2准备开发环境

●IDE:

Eclipse、

●源代码控制软件:

svn,。

●数据库:

Oracle、SQLServer,。

●文档工具:

Word,Visio,。

●测试跟踪工具:

TD,。

●平台:

Struts,Spring,Hibernate,MyBatis。

●应用服务器:

Tomcat,JBOSS,。

●操作系统:

Windows,Linux,。

●。

3代码组织与风格

3.1缩进

子功能块当在其父功能块后缩进。

代码中以TAB(4个字符)缩进,在编辑器中请将TAB设置为以空格替代。

缩进示例

publicvoidmethodName()

{

if(somecondition)

{

for(…)

{

//somesentences

}//endfor

}//endif

}

3.2间隔

Ø类、方法及功能块间等应以空行相隔,以增加可读性,但不得有无规则的大片空行;

Ø操作符两端应当各空一个字符以增加可读性;

Ø相应独立的功能模块之间使用注释行间隔,并标明相应内容。

3.3对齐

Ø关系密切的行应对齐,对齐包括类型、修饰、名称、参数等各部分对齐;

Ø连续赋值时当对齐操作符;

Ø当方法参数过多时当在每个参数后(逗号后)换行并对齐;

Ø当控制或循环中的条件比较长时当换行(操作符前)、对齐并注释各条件;

Ø变量定义最好通过添加空格形成对齐,同一类型的变量应放在一起。

对齐示例

//变量对齐-----------------------------------------------

intcount=100;

intlength=0;

StringstrUserName=null;

Integer[]porductCode=newInteger

(2);//产品编码数组

//参数对齐----------------------------------------------

publicConnectiongetConnection(Stringurl,

StringuserName,

Stringpassword)

throwsSQLException,IOException

{

}

//换行对齐----------------------------------------------

publicfinalstaticStringSQL_SELECT_PRODUCT=“SELECT*“

+“FROMProductWHEREProd_ID=”

+prodID;

//条件对齐----------------------------------------------

if(Condition1//当条件一

&&Condition2//并且条件二

||Condition3)//或者条件三

{

}

for(inti=0;

i

i++)

{

}

3.4括号

Ø{}中的语句应该单独作为一行;左括号“{”和右括号“}”应该单独成行;且匹配的{}与前导首字符对齐;

Ø不要在程序中出现不必要的括号;

Ø若左括号“{”未另起行,则必须在其对应的在括号“}”后作结束说明。

如:

类的结束符:

}//EOCClassName

方法结束符:

}//endmethodName()

功能块结束:

}//endif...userNameisnull

循环快结束:

}//endfor...everyuserinuserList

若开发工具选择Eclipse,可以通过定义统一的样式文件,统一格式化代码。

4注释规范

4.1基本原则

Ø注释应该增加代码的清晰度。

代码注释的目的是要使代码更易于被其他开发人员等理解;

Ø保持注释的简洁;

Ø注释信息不仅要包括代码的功能,还应给出原因;

Ø除变量定义等较短语句的注释可用行尾注释外,其他注释当避免使用行尾注释。

Ø当代码有变更时,需要同时更新注释;

4.2JavaDoc

对类、方法、变量等的注释需要符合JavaDoc规范,对每个类、方法都应详细说明其功能、条件、参数等,并使用良好的HTML标记格式化注释,以使生成的JavaDoc易阅读和理解。

4.3类与接口注释

在每个类或接口的头部都应该包含该文件的功能、作用、作者、版权以及创建、修改记录等。

类与接口注释示例

/*===========================================================

*Created:

[2006-1-1110:

56]bychenkb

*V1.0

*Updated:

[2006-2-1012:

11]bychenkb

*============================================================

*

*ProjectName:

AppDemo

*

*Description:

定义字符串操作时所需要用到的方法,如转换中文、HTML标记处理等

*

*============================================================

*

*CopyrightInformation.

*

*===========================================================*/

4.4方法注释

Ø依据标准JavaDoc规范对方法进行注释,以明确该方法功能、作用、各参数含义以及返回值等;

Ø复杂的算法用/**/在方法内注解出;

Ø返回值当注释出失败、错误、异常时的返回情况;

Ø异常当注释出什么情况、什么时候、什么条件下会引发什么样的异常。

方法注释示例

/**

*执行查询

*

*该方法调用Statement的executeQuery(sql)方法并返回ResultSet结果集

*

*@paramsql标准的SQL语句

*@returnResultSet结果集,若查询失败则返回null

*@throwsSQLException当查询数据库时可能引发此异常

*/

publicResultSetexecuteQuery(Stringsql)throwsSQLException

{

//Statement和SQL语句都不能为空

if(null!

=stmt&&!

StringUtil.isEmpty(sql))

{

//返回查询执行结果

returnstmt.executeQuery(sql);

}

returnnull;

}//endexecuteQuery()

4.5BO\DTO\ORMAPPING注释

BO或DTO等值对象往往用于数据持久化或数据传递,为明确各个数据字段的具体含义,避免理解歧义或误用,需要给每个字段加上简明扼要的注释。

OR-MAPPING注释示例

姓名

迁移名称

外文姓名

曾用名

性别

出生日期

有效证件类别

证件号码

迁移证件号码

4.6常量定义注释

统一定义和维护的静态常量往往代表着某种具体的含义,会被频繁重用且控制着一些重要的判断逻辑,常量的注释显得尤为重要。

定义常量时,需要明确说明该常量代表的业务含义:

常量定义注释示例

/**试用期转正**/

publicstaticfinalStringITEM_WAGE_PROBATION_AFFIRM="20030330";

/**学历变动**/

publicstaticfinalStringITEM_WAGE_EDUCATION="20030340";

/**同系列职务变动**/

publicstaticfinalStringITEM_WAGE_SAME_SERIES="2004041";

/**奖励**/

publicstaticfinalStringITEM_WAGE_AWARD="20030370";

/**处分处罚**/

publicstaticfinalStringITEM_WAGE_PUNISH="20030380";

4.7配置文件注释

平台提供了统一的property格式配置文件及读取值的API。

针对一些相对固定且用户又有可能修改的常量,要求通过配置文件存储,如上传文件的存储路径、关联系统URL等。

所有的配置项,均要求有明确的注释:

常量定义注释示例

##workflowserverconnectionflag:

Y-open/N-close

workflow.server.connection.open=N

##securitycheckflag:

Y-check/N-ignore

security.check.enabled=Y

5命名规范

5.1命名原则

规范的命名能使程序更易阅读,从而更易于理解。

它们也可以提供一些标识功能方面的信息,有助于更好的理解代码和应用。

Ø用能准确表达语义的英文单词(或常用单词的简写)组合;

Ø禁止用汉语拼音简写或汉字命名;若无法用英文准确表达,可用汉语拼音全拼代替;

Ø采用大小写混合,提高名字的可读性。

一般应该采用小写字母,但是类和接口的名字的首字母,以及任何中间单词的首字母应该大写。

包名全部小写;

正确:

HelloWorld

错误:

helloWorld,Hello_World

 

Ø避免使用超长名字(最好不超过25个字母);

Ø避免使用相似或者仅在大小写上有区别的名字;

Ø避免使用数字,但可用2代替to,用4代替for等,如:

go2Jsp。

5.2包命名

格式:

前缀.系统名.[子系统名].[模块名].平台固定package

示例:

com.appdemo.client.web

com.appdemo.client.service

 

注:

所有字母一律小写

 

5.3Jsp命名

小写字母开头,单词之间靠“_”连接。

正确:

some_view.jsp;some_new.jsp

错误:

SomeJsp.jsp;Somejsp.jsp;some_Jsp.jsp

5.4Action命名

类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeAction.java

示例:

ClientAction.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

someAction

示例:

clientAction

5.5Façade命名

接口类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeFacade.java

示例:

ClientFacade.java

实现类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeFacadeImpl.java

示例:

ClientFacadeImpl.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

someFacade

示例:

clientFacade

5.6Service命名

接口类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeService.java

示例:

CustomerService.java

实现类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeServiceImpl.java

示例:

CustomerServiceImpl.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

someService

示例:

customerService

5.7BO命名

类名:

大写字母开头,其后各单词首字母大写。

格式:

Some.java

示例:

Customer.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

some

示例:

customer.

5.8DAO命名

接口类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeDAO.java

示例:

CustomerDAO.java

实现类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeHibernateDAO.java;SomeJdbcDAO.java

示例:

CustomerHibernateDAO.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

someDAO

示例:

customerDAO

5.9DTO命名

类名:

大写字母开头,其后各单词首字母大写。

格式:

SomeDTO.java

示例:

CustomerDTO.java

变量名:

小写字母开头,其后各单词首字母大写。

格式:

someDTO

示例:

customerDTO

5.10方法命名

Ø方法的命名应采用完整的英文描述符,大小写混合使用:

所有中间单词的第一个字母大写。

Ø方法名称的第一个单词常常采用一个有强烈动作色彩的动词。

Ø取值类使用get前缀,设值类使用set前缀,判断类使用is(has)前缀。

例:

getName()

setName()

isLogon()

5.11常量命名

Ø全部大写,单词之间通过下划线区分

Ø例如:

publicstaticfinalintDAYS_OF_WEEK=7;

错误:

publicstaticfinalintdaysOfWeek=7;

注:

通用的常量按类别集中在一个文件中定义。

5.12变量和参数命名

对不易清楚识别出该变量类型的变量应使用类型缩写作其前缀,如字符串使用strXXX,boolean使用isXXX,hasXXX等等。

除第一个单词外其余单词首字母大写。

例如:

strFirstName

错误:

firstname;FirstName;First_Name

5.13JNDI资源命名

格式:

资源类型/应用名称/资源名称

说明:

资源名称以大写字母开头,单词之间用大小写区分。

其它字段全部小写。

示例:

数据源:

jdbc/appdemo/DefaultDS

 

5.14异常命名

Ø异常类名由表示该异常类型的单词和Exception组成,如ActionException。

Ø异常实例一般使用e、ex等,在多个异常时使用该异常名或简写加E,Ex等组成。

如:

SQLEx

ActionEx

6声明与定义

6.1导入包

在导入包时当完全限制代码所使用的类的名字,尽量少用通配符的方式,但导入一些通用包,或用到一个包下大部分类时(超过5个),则可是使用通配符方式,如:

importcom.appdemo.services.CustomerService;

importcom.util.*;

6.2类与接口

类、接口定义语法规范:

[可见性][('abstract'|'final')][Class|Interface]class_name

[('extends'|'implements')][父类或接口名]{

}

如:

publicclassLoginActionextendsBaseActionimplemnetsActionListener{

}

6.3方法

声明原则:

尽量限制成员函数的可见性。

如果成员函数没必要公有(public),就定义为保护(protected);没必要保护(protected),就定义为私有(private)。

方法定义语法规范:

[可见性][('abstract'|'final')]['synchronized'][返回值类型]method_name(参数列表)[('throws')][异常列表]{

//功能模块

}

如:

publicListlistAllUsers()throwsDAOException{

}

类中各方法声明顺序:

构造方法

静态公共方法

静态私有方法

受保护方法

私有方法

继承自Object的方法

6.4字段

字段定义语法规范:

[(‘public’|’private’|’protected’)][(‘final’|’volatile’)][‘static’][‘transient’]data_typefield_name[‘=’expression]‘;’

声明顺序:

常量

类变量

实例变量

公有字段

受保护字段

私有字段

7表达式与语句

7.1控制语句

Ø判断中如有常量

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

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2