Java编码书写规范完整版.docx

上传人:b****4 文档编号:1450845 上传时间:2022-10-22 格式:DOCX 页数:18 大小:25.99KB
下载 相关 举报
Java编码书写规范完整版.docx_第1页
第1页 / 共18页
Java编码书写规范完整版.docx_第2页
第2页 / 共18页
Java编码书写规范完整版.docx_第3页
第3页 / 共18页
Java编码书写规范完整版.docx_第4页
第4页 / 共18页
Java编码书写规范完整版.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Java编码书写规范完整版.docx

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

Java编码书写规范完整版.docx

Java编码书写规范完整版

 

Java编码书写规范

 

版本修订记录

序号

简要说明

(变更内容和变更范围)

日期

变更人

3

文档评审记录

序号

评审人

角色

评审日期

签字

评审意见

1.命名约定1

1.1.一般概念1

1.2.示范1

2.注释约定4

2.1.一般概念4

2.2.示范4

2.3.注释范围5

3.文件样式约定5

3.1.Java(*.java)5

3.1.1.版权信息6

3.1.2.Package/Imports6

3.1.3.Class6

3.1.4.ClassFields7

3.1.5.构造函数8

3.1.6.克隆方法8

3.1.7.类方法(类的普通成员函数)9

3.1.8.toString方法9

3.1.9.main方法9

3.2.JavaServerPage(*.jsp)9

3.2.1.版本信息10

3.2.2.tag10

3.2.3.值输出11

3.2.4.嵌入代码段11

4.其它代码书写风格约定11

4.1.文档自动生成11

4.2.缩进12

4.3.页宽12

4.4.变量声明14

4.5.变量初始化14

4.6.局部变量声明14

4.7.空行14

4.8.大括号{}15

4.9.小括号()15

4.10.运算符15

4.11.参数间隔15

4.12.JSP文件命名16

4.13.Servlet类命名(待定)16

5.编码指南16

5.1.对实例以及类变量的访问控制16

5.2.引用类变量和类方法16

5.3.常量17

5.4.变量赋值17

5.5.其它惯例18

5.5.1.圆括号18

5.5.2.返回值18

5.5.3.条件运算符"?

"前的表达式19

5.5.4.特殊注释19

5.5.5.异常使用原则19

1.命名约定

除了以下几个特例之外,命名时必须始终采用完整的英文描述符。

此外,一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。

1.1.一般概念

☞尽量使用完整的英文描述符

☞采用适用于相关领域的术语

☞采用大小写混合使名字可读

☞尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一

☞避免使用长的名字(尽量小于25个字母)

☞避免使用类似的名字,或者仅仅是大小写不同的名字

☞避免使用下划线(除静态常量等)

1.2.示范

包(Package)采用完整的英文描述符,应该都是由小写字母组成,格式为com.dcosft.*。

如:

com.dcsoft.ework.workflow

mons

com.dcsoft.utility

类(Class)采用完整的英文描述符,所有单词的第一个字母大写,在上下文语境允许的情况下,可以使用缩略词,但必须保证整个开发小组的一致性,比如:

number可缩写为num。

如:

Customer

SavingsAccount

接口(Interface)采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。

在接口名称的最前面使用大写的“I”表明这是一个接口。

习惯上,名字后面加上后缀able,ible或者er,但这不是必需的。

如:

IContactable

IPrompter

组件/部件(Component)使用完整的英文描述来说明组件的用途,前端加上组件类型。

如:

btnOK

lstCustomer

menuFile

异常(Exception)采用异常类型的各单词首字母表示异常。

如:

Excpetione

IOExceptionioe

字段/属性字段采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。

firstName

lastName

实参/参数同字段/属性的命名规则

publicvoidsetFirstName(StringfirstName){

this.firstName=firstName;

}

局部变量同字段/属性的命名规则

获取成员函数被访问字段名的前面加上前缀get。

getFirstName()

getLastName()

布尔型的获取成员函数所有的布尔型获取函数必须用单词is做前缀。

isPersistent()

isString()

设置成员函数被访问字段名的前面加上前缀set。

setFirstName()

setLastName()

setWarpSpeed()

普通成员函数采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个动词,第一个字母小写。

openFile()

addAccount()

静态常量字段(staticfinal)全部采用大写字母,单词之间用下划线分隔。

MIN_BALANCE,

DEFAULT_DATE

循环计数器通常采用字母i,j,k,m,n或者counter都可以接受。

i,j,k

m,n,counter

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

objectType[]variant,不得使用objectTypevariant[]方式。

int[]arrInt;

String[]args;

对象实例同组件/部件

byte[]arrBuffer;

StringBuffersbContent;

2.注释约定

2.1.一般概念

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

☞保持注释的简洁

☞在写代码之前写注释

☞注释出为什么做了一些事,而不仅仅是做了什么

2.2.示范

文档注释在紧靠接口、类、成员函数和字段声明的前面注释它们。

/**客户:

客户是我们将服务和产品卖给的人或机构。

*/

Stringcustomer;

C语言风格注释采用C语言风格的注释去掉不再使用但你仍想保留的代码。

仍想保留是因为用户万一会改变想法,或者在调试过程中想让它暂时失效。

/*这部分代码因为已被它之前的代码取代,由B.Gustafsson,

*于1999年6月4日注释掉。

如果两年之后还未使用,将

*其删除。

...

*(源代码)

*/

单行注释在成员函数内采用单行注释,来说明业务逻辑、代码段和暂时变量的声明。

注释符"//"后必须紧跟一个空格,然后才是注释信息。

//遵照Sarek的规定,给所有

//超过$1000的发货单

//打5%的折扣。

让利活

//动于1995年2月开始.

if(condition){/*处理条件*/

...

}

即约定主要的说明性注释使用文档注释;C风格注释只用来标注过期不用的代码;单行注释用来标注一些简单却容易混淆的逻辑,比较长的单独作为一行,较简洁的可以放在代码行尾。

2.3.注释范围

类:

类的目的、即类所完成的功能,注释出采用的变量。

接口:

注释描述设置接口的目的、它应如何被使用。

成员函数:

对于设置与获取成员函数,在成员变量已有说明的情况下,可以不加注释;普通成员函数注释要求说明完成什么功能,参数含义及返回什么;

普通成员函数内部控制结构:

注释代码做了些什么以及为什么这样做,处理顺序等。

实参/参数:

注释参数含义、及其它任何约束或前提条件

字段/属性:

注释字段的描述

局部变量:

无特别意义的情况下不加注释

3.文件样式约定

3.1.Java(*.java)

所有的Java(*.java)文件都必须遵守如下的样式规则:

3.1.1.版权信息

版权信息必须在java文件的开头,比如:

/**

*Copyright2009WatSoftCo.Ltd.

*Allrightreserved.

*Author

*Date2009-02-27

*/

作者名称要用中文。

其他不需要出现在javadoc的信息也可以包含在这里。

3.1.2.Package/Imports

package行要在import行之前,import中标准的包名要在本地的包名之前,而且按照字母顺序排列。

如果import行中包含了同一个包中的不同子目录,则应该用*来处理。

package.stats;

importjava.io.*;

importjava.util.Observable;

importhotlava.util.Application;

这里java.io.*是用来代替InputStreamandOutputStream的。

3.1.3.Class

类的注释

/**

*

Title:

文件名称

*

Description:

类内容的简介

*

更新记录:

*格式:

[更新日期][修改的版本][操作人]内容

*[2005-06-28][1.0][张三]完善create方法。


*

*

Copyright:

Copyright(c)2009

*

Company:

WatSoftCo.Ltd.

*@version:

1.1

*/

类定义:

包含了在不同行的extends和implements

publicclassCounterSet

extendsObservable

implementsCloneable{

……

}

3.1.4.ClassFields

类的成员变量:

/**

*Packetcounters

*/

protectedint[]packets;

public的成员变量必须生成文档(JavaDoc)。

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

类变量的存取:

如类的成员变量已经有注释,类变量的存取方法可以没有注释。

publicint[]getPackets(){

returnthis.packets;

}

publicvoidsetPackets(int[]packets){

this.packets=packets;

}

……

3.1.5.构造函数

构造函数:

应该用递增的方式写(比如:

参数多的写在后面)。

publicCounterSet(){

this.size=100;

}

publicCounterSet(intsize){

this.size=size;

}

3.1.6.克隆方法

如果这个类是可以被克隆的,那么下一步就是clone方法:

publicObjectclone(){

try{

……

}catch(CloneNotSupportedExceptione){

……

}

}

3.1.7.类方法(类的普通成员函数)

类的方法:

/**

*Setthepacketcounters

*p

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

当前位置:首页 > 高中教育 > 语文

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

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