java编码规范v10Word文档格式.docx

上传人:b****2 文档编号:4451251 上传时间:2023-05-03 格式:DOCX 页数:16 大小:24.16KB
下载 相关 举报
java编码规范v10Word文档格式.docx_第1页
第1页 / 共16页
java编码规范v10Word文档格式.docx_第2页
第2页 / 共16页
java编码规范v10Word文档格式.docx_第3页
第3页 / 共16页
java编码规范v10Word文档格式.docx_第4页
第4页 / 共16页
java编码规范v10Word文档格式.docx_第5页
第5页 / 共16页
java编码规范v10Word文档格式.docx_第6页
第6页 / 共16页
java编码规范v10Word文档格式.docx_第7页
第7页 / 共16页
java编码规范v10Word文档格式.docx_第8页
第8页 / 共16页
java编码规范v10Word文档格式.docx_第9页
第9页 / 共16页
java编码规范v10Word文档格式.docx_第10页
第10页 / 共16页
java编码规范v10Word文档格式.docx_第11页
第11页 / 共16页
java编码规范v10Word文档格式.docx_第12页
第12页 / 共16页
java编码规范v10Word文档格式.docx_第13页
第13页 / 共16页
java编码规范v10Word文档格式.docx_第14页
第14页 / 共16页
java编码规范v10Word文档格式.docx_第15页
第15页 / 共16页
java编码规范v10Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java编码规范v10Word文档格式.docx

《java编码规范v10Word文档格式.docx》由会员分享,可在线阅读,更多相关《java编码规范v10Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

java编码规范v10Word文档格式.docx

11

规则4.2.4必须用"

和"

将if内的语句括起来。

(即使只有一条语句的情况下)11

规则4.2.7在多层嵌套的for语句中,应在for上一行增加逻辑注释12

建议4.2.14“=”等比较符前后加一个空格12

5注释规则13

5.1类注释规则13

规则5.1.1使用JavaDoc,列出功能、版本信息、日期、作者和版权声明13

规则5.1.2如果对文件进行了修改,必须说明修改目的、修改日期、修改人,并变更版本信息13

5.2类方法注释规则14

规则5.2.1用中文写出每个参数和返回值的含义14

规则5.2.2当修改其他组员创建的类时,增加@author标签14

5.3单行注释规则14

规则5.4.1单行注释位于所描述内容之前14

规则5.4.2单行注释之前留一行空行14

5.3.1接口14

5.3.2局部变量14

5.3.3方法15

5.3.4方法内部注释15

6命名规则16

6.1包命名规则16

规则6.1.1包的名字全部小写16

6.2类命名规则17

规则6.2.1类名用英文名称,不用汉语拼音。

例如Customer,而不是KH17

规则6.2.2类名是名词,采用大小写混合的方式,每个单词的首字母大写17

规则6.2.3类名不要用复数17

规则6.2.4类名不要以“A”,“An”或“The”开头17

规则6.2.5如果不能选择适当的类名,而该类与数据库一个表紧密相关,再把数据库表名作为类名17

规则6.2.6使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)17

规则6.2.7命名方式采用匈牙利式17

6.3接口命名规则17

规则6.3.1接口的规则与类相同17

规则6.3.2接口名前面加“I”18

6.4方法命名规则18

规则6.4.1方法名是动词+名词对,采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写18

建议6.4.2方法名应准确描述方法的功能,不要使用无意义或含义不清的动词为方法命名18

6.5变量命名规则18

规则6.5.1变量名采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写18

规则6.5.2除一次性的临时变量(如for循环变量)以外,不能用单个字符的变量名18

规则6.5.3如果变量名代表容器(collection),如Array,Vector等,在变量名后加“List”19

建议6.5.4变量名要简短且富于描述,能够指出其用途19

建议6.5.5临时变量通常被取名为i,j,k,m和n,它们一般用于整型;

c,d,e,它们一般用于字符型19

6.6常量命名规则19

规则6.6.1类常量全部用大写字母,单词间用下划线隔开19

6.7方法的参数命名规则19

规则6.7.1使用全英文命名。

首字母小写,后续单词首字母大写19

6.8数组命名规则19

规则6.8.1将[]放在类型后19

6.9Booleangetter方法命名规则20

规则6.9.1所有布尔型get方法必须用单词”is”作为前缀。

”is”为小写,后续单词首字母大写,其余字母小写20

6.10构造方法命名规则20

规则6.12.1构造方法使用类名20

7程序日志打印21

规则7.1后台不允许出现sysout控制台打印日志;

21

规则7.2日志打印类统一采用“mons.logging.Log”,不允许使用其它jar包提供的类似方式;

规则7.3日志级别INFO、ERROR;

规则7.4异常信息的日志打印;

规则8.8引用SPRING配置的bean统一采用@注解方式按类型注入21

8方法22

规则9.1用注释详细说明每个参数的作用、取值范围及参数间的关系22

9程序效率23

规则11.1不要在循环内执行重复操作23

规则11.2在对字符串有附加操作时,使用StringBuffer而非String。

使用StringBuffer性能会好很多23

建议11.3显式地把已经不再被引用的对象赋为null23

建议11.4不要频繁初始化对象23

10质量保证25

10.1质量保证规则25

规则12.1打开的数据库连接、文件在使用后必须关闭25

建议12.2合理设计程序,避免占用太大内存25

10.2安全规则25

规则12.3不要使用不推荐的API25

规则12.5在程序中出现连续get值时,需判断是否为空,杜绝空指针25

11WEB编码规范26

11.1html、css、js、images、jsp均须按照约定目录存放;

26

JavaScript书写规范26

11.2注释规范26

附录A词典规范27

A.1动词词典27

A.2名词词典28

1概述

制定编码规范的最主要的目的是为了对产出代码的长期维护。

通常负责维护代码的人大多都不是开发者本人,如果有一个统一的代码格式以及说明就可以减少混淆提高理解速度。

因此,下列的编码规范是基于良好的编码习惯和可读性的原则来制定的。

特别说明:

不反对不提倡拷贝粘贴,但拷贝的每行代码务必清楚意思和原因!

1.1范围

本文档仅仅是编码规范,它定义了所有代码编写者在编写Java代码时应遵守的一些规则和习惯。

同时,还提供一些有关编写EnterpriseJavaBean代码的命名规则和习惯。

本规范采用以下术语描述:

规则:

编程时强制必须遵守的原则。

建议:

编程时需考虑的事项。

说明:

对此规则或建议进行必要的解释。

示例:

对此规则或建议从正、反两个方面给出例子。

1.2说明

本文档中标注规则的地方为强制要求。

鼓励对当次需求变更涉及代码进行重构,简单原则:

发现重复——抽取不同点——封装共同点并将不同点传参——递归。

特别注意:

在没有充分测试保证的前提下,避免主动对涉及其它重要业务功能的代码进行重构。

2文件体系结构

2.1文件体系规则

规则2.1.1WebRoot文件目录结构

|――images存放图片

|――resources

|――css存放样式表

|——js存放javascript脚本

|——模块分类名

|――WEB-INF存放页面和配置文件

|——config存放log4j文件、jdbc文件

|——jsp存放jsp页面

|——模块分类名

注:

jsp页面引用的js名称必须相同,基于js和jsp文件夹下的路径必须相同

规则2.1.2Java文件目录结构

com.56sino

|——base存放基础类

|——controller存放接口控制类

|——dao存放数据接口类

|——impl存放数据接口实现类

|——filter存放过滤类

|——listener存放监听类

|——service存放服务接口类

|——impl存放服务实现类

|——util存放公共工具类

|——<

模块分类目录>

|——controller存放模块接口控制类

|——dao存放模块数据接口类

|——impl存放模块数据接口实现类

|——entity存放模块实体类

|——service存放模块服务接口类

|——impl存放模块服务接口实现类

|——sql存放Mybatis/IbatisSql文件

2.2源文件结构规则

规则2.2.3类变量的声明顺序是public,protected,package,private

公共变量(Public)

保护变量(Protected)

包一级别的变量(没有访问修饰符)

私有变量(Private)

根据实际变量的引用范围适当采用。

规则2.2.4变量、常量的注释应放在其上方相邻位置或右方

参数多的写在后面)

get和set方法

规则2.2.7如果定义main()方法,必须将main方法写在类的底部

3文件命名规则

规则3.1JSP文件命名

xxxMain.jsp主页面

xxxInsert.jsp新增页面

xxxUpdate.jsp修改页面

xxxDetail.jsp详情页面

规则3.2Java文件命名

接口控制类模块名Controller.java

数据接口类I模块名Dao.java

数据接口实现类模块名DaoImpl.java

服务接口类I模块名Service.java

服务接口实现类模块名ServiceImpl.java

实体类数据库表名(去掉数据库前缀、下划线).java

sql文件实体类名.sqlMap

4排版规则

4.1语句排版规则

规则4.2.1简单语句每行至多包含一条语句

argv++;

//正确

argc--;

//正确

argc--;

//禁止这样使用!

inti=0;

//正确

intj=0;

Inti=0,j=0;

//禁止这样使用!

规则4.2.2复合语句被括其中的语句缩进一个层次

for(initialization;

condition;

update){

statements;

}

(即使只有一条语句的情况下)

正确:

If(condition){

System.out.println(“正确”);

}

错误:

if(condition)

System.out.println(“错误”);

规则4.2.5在多层嵌套的for语句中,应在for上一行增加逻辑注释

规则4.2.6“=”等运算符前后加一个空格

规则4.2.7重载方法按照参数个数升序排序

建议4.2.8行长度超过一屏时必须适当折行,以不出现横向滚动条为宜

5注释规则

5.1类注释规则

规则5.1.1类注释

/**

*@see类名注释

*@author作者

*/

规则5.1.2方法注释

*@see方法功能

*@param参数类型及含义

*@return如有返回值需注明返回数据类型及含义

规则5.1.3单行注释

双斜杠+空格+内容

除ifelse注释在左大括号后以外,其余注释于代码的上一行

规则5.1.4类属性必须用单行注释其含义

6命名规则

6.1包命名规则

规则6.1.1包的名字全部小写,所有包必须基于con.56sino

6.2类命名规则

规则6.2.1类名用英文名称,禁止汉语拼音。

规则6.2.2类名是名词,采用大小写混合的方式,每个单词的首字母大写

规则6.2.3类名不要用复数

规则6.2.4类名使用完整单词,避免缩写词(除非该缩写词被广泛使用)

规则6.2.5尽量简短易懂

规则6.2.6接口控制类后加Controller

规则6.2.7服务接口类前面加大写I,后加Service

规则6.2.8服务接口实现类后加ServiceImpl

规则6.2.9数据接口类前加大写I,后加Dao

规则6.2.10数据接口实现类后加DaoImpl

规则6.2.11实体类与对应数据库表名一致(去掉数据库前缀和下划线)

6.3方法命名规则

规则6.3.1首字母小写,其他首字母大写

规则6.3.2方法名准确描述方法的功能,禁止无意义或含义不清的方法名

规则6.3.3通用方法名

新增xxxInsert

修改xxxUpdate

删除xxxDelete

查询单体xxxLoad

查询结合xxxList/xxxMap

分页xxxPage

规则6.3.4前台js调用controller,controller调用service,service调用dao,dao调用sql语句,方法名保持一致

规则6.3.5参数用全英文命名。

首字母小写,后续单词首字母大写

6.4变量命名规则

规则6.4.1变量名采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写

规则6.4.2除一次性的临时变量(如for循环变量)以外,不能用单个字符的变量名

规则6.4.3如果变量名代表集合,如Map,List等,在变量名后加对应集合名字List,Map

建议6.4.4变量名要简短且富于描述,能够指出其用途

建议6.45临时变量通常被取名为i,j,k,m和n,它们一般用于整型;

c,d,e,它们一般用于字符型

6.5常量全部用大写字母,单词间用下划线隔开

6.6数组命名规则,将[]放在类型后

6.7Booleangetter方法命名规则

规则6.7.1所有布尔型get方法必须用单词”is”作为前缀。

”is”为小写,后续单词首字母大写,其余字母小写

6.8sqlMap文件命名规范

规则6.8.1实体类名字+.xml

规则6.8.2命名空间为实体类名字

规则6.8.3简称为实体类名字简称

7程序日志打印

规则7.2前台不允许出现alert输出语句,调试完成后必须删除

规则7.3日志打印类统一采用log4j打印,不允许使用其它jar包提供的类似方式;

规则7.4日志级别INFO、ERROR;

info为提示信息,error为错误信息

8程序效率

规则8.1不要在循环内执行重复操作

可在循环外调用一次的,就避免在循环内进行不必要的反复调用。

for(inti=0;

i<

dw.getRowCount();

i++){

应写成:

introws=dw.getRowCount();

rows;

规则8.2在对字符串有附加操作时,使用StringBuffer而非String。

建议8.3尽量避免多级嵌套循环

建议8.4尽量减少if中的判断条件

9Sql语句书写

规则9.1所有关键字大写,如SELECT,FROM,WHERE等

规则9.2语句折行,关键字前后加空格,逗号后加空格,运算符前后加空格

SELECT字段1,字段2,字段3

FROM表1,表2

WHERE条件1AND条件2

ORDERBY条件

LIMIT

规则9.3一个方法使用一条sql,不允许sql复用

规则9.4按需查询,不允许SELECT*

建议9.5尽量减少子查询,尽量减少表关联

10数据类型转换

规则10.1使用数据类型.valueOf()转换

String.valueOf();

Integer.valueOf();

禁止xxx.toString(),Integer.pasInt();

11异常处理

规则11.1公共方法直接抛出异常,调用时进行捕获处理

规则11.2dao层直接抛出异常,调用时进行捕获处理

规则11.3controller层禁止抛出异常,需对异常进行捕获处理

规则11.4service层禁止直接抛出异常,如受事物影响必须抛出异常,需在trycatch后,thrownewRuntimeException("

错误信息"

);

规则11.5方法异常处理

必须用trycatch捕获可能存在的异常,并调用日志服务公共类保存和打印错误日志,最后返回统一异常信息

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

当前位置:首页 > 解决方案 > 学习计划

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

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