JAVA编码规范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.3
3
JAVA文件中“类”,“类变量”,“方法”是否有符合规范的注释。
1.4
4
在“方法”的内部是否有一定数量的注释。
1.4
5
JAVA文件中的各种元素是否符合JAVA命名规范。
1.5
6
JAVA文件中整个的书写格式和元素的先后顺序是否规范。
1.6
JSP文件
7
JSP文件是否有符合规范的版权和版本信息(简称“头”)。
SavingsAccount
接口(Interface)
采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。习惯上,名字后面加上后缀able,ible或者er,但这不是必需的。(不需要写Interface后缀)
Contactable,
Prompter
异常(Exception)
通常采用字母e表示异常。
<head>
<!--
Project:MOA
Author:wuf
Company:srt
Description:显示用户信息列表
Created Date:2005-12-1
Copyright @ 2000 Company name–Confidential and Proprietary
History:
extends Observable
implements Cloneable
{
类的成员变量(Class Fields)
构造函数
克隆方法
类方法
存取方法(get/set方法)
toString方法
main方法
}
1.7
Jsp的版权版本信息应该放在<head>标签后面紧接的一行,内容与java的版权版本信息类似,只是增加了对jsp描述的项“Description”。放在jsp页面的开头有可能搞乱整个页面.
//注释一行
/* ...... */注释若干行
5.javadoc注释标签语法
@author对类的说明标明开发该类模块的作者
@version对类的说明标明该类模块的版本
@see对类、属性、方法的说明参考转向,也就是相关主题
@param对方法的说明对方法中某参数的说明
@return对方法的说明对方法返回值的说明
而不是:
byte buffer[];
byte[] buffer
1.6
1.排版规范
关键词和操作符之间加适当的空格。
相对独立的程序块与块之间加空行
较长的语句、表达式等要分成多行书写。
划分出的新行要进行适应的缩进,使排版整齐,语句可读。
长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
6)在jsp中应该避免使用out.pringln()发放来产生页面内容。
7)jsp层不应该直接访问数据,这包括JDBC数据库访问和EJB访问。
8)如果没有充分的理由,就不要在jsp中定义方法和内部类。
9)Jsp文件的后缀名”小写”
1.9
Xml配置文件的版权版本信息与jsp的一样,放在<?xml version="1.0" encoding="UTF-8"?>标签后紧接的一行。
openFile(),
addAccount()
静态常量字段(static final)
全部采用大写字母,单词之间用下划线分隔。
MIN_BALANCE,
DEFAULT_DATE
循环计数器
通常采用字母i,j,k或者counter都可以接受。
i, j, k, counter
数组
数组应该总是用下面的方式来命名:byte[] buffer;
</head>
1.8
1)整个jsp/jsp bean表示层应当尽可能的瘦和简单化。
2)牢记大多数的JSP都应当是只读的视图,而由页面bean来提供模型。
3)在尽可能合理的情况下,把业务逻辑从JSP中移走。
4)jsp不应当直接访问属性文件,或者使用JNDI。
5)在jsp中避免代码重复。把要重复的功能放在一个包含的jsp、bean或标记扩展中,使得它能够被重用。
为了执行规范,每个软件开发人员必须一致遵守编码规范。
这是一个强制执行的标准,而不是一个指南。当我们的标准不适应的时候,我们可以讨论、修改标准。但是已经制定的标准一定要得到执行。
1.2
文件类型
序号
规范要点
参照标准
JAVA文件
1
JAVA文件是否有符合规范的版权和版本信息(简称“head”)。
1.3
2
每次修改JAVA文件后是否在“head”的HISTORY中添加修改信息。
…
}
2.成员变量的注释
public的成员变量必须生成文档(JavaDoc)。proceted、private和package定义的成员变量可以使用一般注解也可以使用JavaDoc进行注释,所有的成员变量都必须有注释。
//操作状态标志:0.新增,1.修改,2.查看
protected long modifyStatus = 0;
e
类变量
字段采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写.
firstName,
lastName
局部变量
同类变量的命名规则
获取、设置成员函数
获取成员函数被访问字段名的前面加上前缀get,布尔型的获取成员函数所有的布尔型获取函数必须用单词is做前缀。
设置成员函数被访问字段名的前面加上前缀set。(使用eclipse自动生成)
* 20051212|wuf|优化编码的格式
*20051215|wuf|再次优化编码的格式
*/
1.4
1.Class类的注释
类的注释,一般是用来解释类的,主要包括这个类的功能描述,注意事项和一些重要功能的使用实例。
/**
*注释内容
*/
public class CounterSetextends Observableimplements Cloneable{
…
}
4.方法内部的注释
复杂的方法内部必须有一定数量的注释,注释可以使用单行或多行注释。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则;对代码的注释应放在其上方相邻位置,不可放在下面;对结构中的每个变量的注释应放在此变量的右方;同一结构中不同域的注释要对齐。一般使用两种注释方法:
1.7
8
JSP编写应遵守JSP编码规范
1.8
XML配置文件
9
XML文件是否有符合规范的版权和版本信息(简称“头”)。
1.9
10
XML文件是否对重要的节点进行了注释。
1.10
1.3
版权和版本信息必须在java文件的开头,其他不需要出现在javadoc的信息也可以包含在这里。
所有的头文件都可以自动生成,详见<关于eclipse创建新类自动添加注释的说明.rar>
/**
*每一页的条目数
*/
Publicint pageSize = 0;
3.方法的注释
所有方法都必须用JavaDoc进行注释,所有的方法都必须有注释。
/**
*保存一个session对象
* @param key变量名称
* @param val传入对应的对象
*/
public void setSessionValue(String key, Object val) {
1.10
对重要的节点进行注释,注释写在与重要节点相邻的上面一行,主要描述该节点的功能。
如:
<!--调研编码过滤器进行编码转换-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.zrar.zx.client.EncodingFilter</filter-class>
if (i>0) { i ++ }; //错误, {和}在同一行
if (i>0)
{
i ++
}; //正确, {单独作为一行
if (i>0) {
i ++
}; //正确, {单独作为一行
2.元素先后顺序
/*版权版本信息*/
Package/Imports
类定义(包含了在不同的行的extends和implements public class CounterSet)
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
getFirstName(),
getLastName()
isPersistent(),
isString()
setFirstName(),
setLastName(),
setWarpSpeed()
普通成员函数
普通成员函数采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。
JAVA编码规范
1.1
为什么要有编码规范
编码规范对于程序员而言尤为重要,有以下几个原因:
-一个软件的生命周期中,80%的花费在Байду номын сангаас维护
-几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护
-编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码
-如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品
//@exception对方法的说明对方法可能抛出的异常进行说
1.5
一般命名约定:
1)尽量使用完整的英文描述符
2)采用适用于相关领域的术语
3)采用大小写混合使名字可读
4)尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一
5)避免使用长的名字(最好小于15个字母)
6)避免使用类似的名字,或者仅仅是大小写不同的名字
如:
/*
* Author:wufengt
* Created Date:2008-12-1*
*History:
* ------------------------------------------------------------------------------
* Date | Author | Change Description
**********************************************************
Date | Author | Change Description
20051212|wuf|优化编码的格式
20051215|wuf|再次优化编码的格式
-->
<title>用户列表</title>
7)避免使用下划线(除静态常量等)
命名规范:
元素名称
命名规则
示例
包(Package)
采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的Internet域名反转并接上包名。
com.srt.moa.action
类(Class)
采用完整的英文描述符,所有单词的第一个字母大写。
Customer,
若函数或过程中的参数较长,则要进行适当的划分。
不允许把多个短语句写在一行中,即一行只写一条语句。
函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
JAVA语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和
‘}’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
3
JAVA文件中“类”,“类变量”,“方法”是否有符合规范的注释。
1.4
4
在“方法”的内部是否有一定数量的注释。
1.4
5
JAVA文件中的各种元素是否符合JAVA命名规范。
1.5
6
JAVA文件中整个的书写格式和元素的先后顺序是否规范。
1.6
JSP文件
7
JSP文件是否有符合规范的版权和版本信息(简称“头”)。
SavingsAccount
接口(Interface)
采用完整的英文描述符说明接口封装,所有单词的第一个字母大写。习惯上,名字后面加上后缀able,ible或者er,但这不是必需的。(不需要写Interface后缀)
Contactable,
Prompter
异常(Exception)
通常采用字母e表示异常。
<head>
<!--
Project:MOA
Author:wuf
Company:srt
Description:显示用户信息列表
Created Date:2005-12-1
Copyright @ 2000 Company name–Confidential and Proprietary
History:
extends Observable
implements Cloneable
{
类的成员变量(Class Fields)
构造函数
克隆方法
类方法
存取方法(get/set方法)
toString方法
main方法
}
1.7
Jsp的版权版本信息应该放在<head>标签后面紧接的一行,内容与java的版权版本信息类似,只是增加了对jsp描述的项“Description”。放在jsp页面的开头有可能搞乱整个页面.
//注释一行
/* ...... */注释若干行
5.javadoc注释标签语法
@author对类的说明标明开发该类模块的作者
@version对类的说明标明该类模块的版本
@see对类、属性、方法的说明参考转向,也就是相关主题
@param对方法的说明对方法中某参数的说明
@return对方法的说明对方法返回值的说明
而不是:
byte buffer[];
byte[] buffer
1.6
1.排版规范
关键词和操作符之间加适当的空格。
相对独立的程序块与块之间加空行
较长的语句、表达式等要分成多行书写。
划分出的新行要进行适应的缩进,使排版整齐,语句可读。
长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
6)在jsp中应该避免使用out.pringln()发放来产生页面内容。
7)jsp层不应该直接访问数据,这包括JDBC数据库访问和EJB访问。
8)如果没有充分的理由,就不要在jsp中定义方法和内部类。
9)Jsp文件的后缀名”小写”
1.9
Xml配置文件的版权版本信息与jsp的一样,放在<?xml version="1.0" encoding="UTF-8"?>标签后紧接的一行。
openFile(),
addAccount()
静态常量字段(static final)
全部采用大写字母,单词之间用下划线分隔。
MIN_BALANCE,
DEFAULT_DATE
循环计数器
通常采用字母i,j,k或者counter都可以接受。
i, j, k, counter
数组
数组应该总是用下面的方式来命名:byte[] buffer;
</head>
1.8
1)整个jsp/jsp bean表示层应当尽可能的瘦和简单化。
2)牢记大多数的JSP都应当是只读的视图,而由页面bean来提供模型。
3)在尽可能合理的情况下,把业务逻辑从JSP中移走。
4)jsp不应当直接访问属性文件,或者使用JNDI。
5)在jsp中避免代码重复。把要重复的功能放在一个包含的jsp、bean或标记扩展中,使得它能够被重用。
为了执行规范,每个软件开发人员必须一致遵守编码规范。
这是一个强制执行的标准,而不是一个指南。当我们的标准不适应的时候,我们可以讨论、修改标准。但是已经制定的标准一定要得到执行。
1.2
文件类型
序号
规范要点
参照标准
JAVA文件
1
JAVA文件是否有符合规范的版权和版本信息(简称“head”)。
1.3
2
每次修改JAVA文件后是否在“head”的HISTORY中添加修改信息。
…
}
2.成员变量的注释
public的成员变量必须生成文档(JavaDoc)。proceted、private和package定义的成员变量可以使用一般注解也可以使用JavaDoc进行注释,所有的成员变量都必须有注释。
//操作状态标志:0.新增,1.修改,2.查看
protected long modifyStatus = 0;
e
类变量
字段采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写.
firstName,
lastName
局部变量
同类变量的命名规则
获取、设置成员函数
获取成员函数被访问字段名的前面加上前缀get,布尔型的获取成员函数所有的布尔型获取函数必须用单词is做前缀。
设置成员函数被访问字段名的前面加上前缀set。(使用eclipse自动生成)
* 20051212|wuf|优化编码的格式
*20051215|wuf|再次优化编码的格式
*/
1.4
1.Class类的注释
类的注释,一般是用来解释类的,主要包括这个类的功能描述,注意事项和一些重要功能的使用实例。
/**
*注释内容
*/
public class CounterSetextends Observableimplements Cloneable{
…
}
4.方法内部的注释
复杂的方法内部必须有一定数量的注释,注释可以使用单行或多行注释。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则;对代码的注释应放在其上方相邻位置,不可放在下面;对结构中的每个变量的注释应放在此变量的右方;同一结构中不同域的注释要对齐。一般使用两种注释方法:
1.7
8
JSP编写应遵守JSP编码规范
1.8
XML配置文件
9
XML文件是否有符合规范的版权和版本信息(简称“头”)。
1.9
10
XML文件是否对重要的节点进行了注释。
1.10
1.3
版权和版本信息必须在java文件的开头,其他不需要出现在javadoc的信息也可以包含在这里。
所有的头文件都可以自动生成,详见<关于eclipse创建新类自动添加注释的说明.rar>
/**
*每一页的条目数
*/
Publicint pageSize = 0;
3.方法的注释
所有方法都必须用JavaDoc进行注释,所有的方法都必须有注释。
/**
*保存一个session对象
* @param key变量名称
* @param val传入对应的对象
*/
public void setSessionValue(String key, Object val) {
1.10
对重要的节点进行注释,注释写在与重要节点相邻的上面一行,主要描述该节点的功能。
如:
<!--调研编码过滤器进行编码转换-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.zrar.zx.client.EncodingFilter</filter-class>
if (i>0) { i ++ }; //错误, {和}在同一行
if (i>0)
{
i ++
}; //正确, {单独作为一行
if (i>0) {
i ++
}; //正确, {单独作为一行
2.元素先后顺序
/*版权版本信息*/
Package/Imports
类定义(包含了在不同的行的extends和implements public class CounterSet)
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
getFirstName(),
getLastName()
isPersistent(),
isString()
setFirstName(),
setLastName(),
setWarpSpeed()
普通成员函数
普通成员函数采用完整的英文描述说明成员函数功能,第一个单词尽可能采用一个生动的动词,第一个字母小写。
JAVA编码规范
1.1
为什么要有编码规范
编码规范对于程序员而言尤为重要,有以下几个原因:
-一个软件的生命周期中,80%的花费在Байду номын сангаас维护
-几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护
-编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码
-如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品
//@exception对方法的说明对方法可能抛出的异常进行说
1.5
一般命名约定:
1)尽量使用完整的英文描述符
2)采用适用于相关领域的术语
3)采用大小写混合使名字可读
4)尽量少用缩写,但如果用了,要明智地使用,且在整个工程中统一
5)避免使用长的名字(最好小于15个字母)
6)避免使用类似的名字,或者仅仅是大小写不同的名字
如:
/*
* Author:wufengt
* Created Date:2008-12-1*
*History:
* ------------------------------------------------------------------------------
* Date | Author | Change Description
**********************************************************
Date | Author | Change Description
20051212|wuf|优化编码的格式
20051215|wuf|再次优化编码的格式
-->
<title>用户列表</title>
7)避免使用下划线(除静态常量等)
命名规范:
元素名称
命名规则
示例
包(Package)
采用完整的英文描述符,应该都是由小写字母组成。对于全局包,将你的Internet域名反转并接上包名。
com.srt.moa.action
类(Class)
采用完整的英文描述符,所有单词的第一个字母大写。
Customer,
若函数或过程中的参数较长,则要进行适当的划分。
不允许把多个短语句写在一行中,即一行只写一条语句。
函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
JAVA语言是用大括号‘{’和‘}’界定一段程序块的,编写程序块时‘{’和
‘}’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。