JAVA代码开发规范

所属分类: 软件编程 / java 阅读数: 26
收藏 0 赞 0 分享

一.开发工具规范:

1. 开发工具经项目负责人调试后统一确定。

2. 开发工具一经确定不允许集成任何非统一插件,若有需要,经项目负责人同意后统一为 项目组成员添加。

3. 开发工具的编码格式不允许修改。

二.排版规范:

1. 关键词(或变量)和操作符之间加一个空格。 例如:int iCont = 1;//操作符和值之间有一个空格。

2. 相对独立的代码块与块之间加空行。 例如:两个方法之间需要用空格隔开。

3. 较长的语句、表达式等要分成多行书写。

4. 长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

5. 代码的新行与上一行根据逻辑关系要进行适应的缩进(一个 table 键),使排版整齐,语 句易读。

6. 不允许把多个短语句写在一行中,即一行只写一条语句。

7. 函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。采用 TABLE 键缩进。

8. 循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。

9. 若函数或过程中的参数较长,则要进行适当的划分。

10. 用大括号‘{'和‘}'界定一段程序块时,编写程序块时‘{'和 ‘}'应各独占一行 并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、 枚举的定义以及 if、for、do、while、switch、case 语句中的程序都要采用如上的缩进方 式。

JAVA代码开发规范(WISHSOFT)

11. main 方法:如果 main(String[]) 方法已经定义了, 那么它应该写在类的底部.

三.命名规范:

1. Package(包)的命名

Package 的名字应该都是由一个小写单词组成。 例如:package com.wish;

2. Class 的命名

Class 的名字必须由大写字母开头而其他字母都小写的单词组成,对于所有标识符,其

中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。 例如:

public class DatabaseOperator {
}

3. Class 中成员变量的命名 变量的名字必须用一个小写字母开头,后面的单词用大写字母开头,不需要数据类型前

缀。 例如:userName,size。

4. Class 中 Static Final 变量的命名

static Final 变量的名字应该都大写,并且指出完整含义。

例如:

public static final String DB_CONFIG_FILE_PATH ="com.neu.etrain.dbconfig";

5. Class 中方法的命名 方法的名字开头的单词必须用一个小写字母,后面的单词用大写字母开头。 例如:setName() , getMethod()。

6. 方法声明中参数命名 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。 例如:

public void setCounter(int size)
{

JAVA代码开发规范(WISHSOFT)

        this.size = size;
    }

7. 方法内变量的命名

Class 中成员变量的命名。

8. 数组的命名

数组应该总是用下面的方式来命名: byte[] buffer;而不是: byte buffer[];

9. 分页中每页列表数量的变量使用 pageSize,当前的所在的页号为 pageNumber。

四.注释规范:

1. 注释要简单明了。

2. 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。

3. 在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二 义性。保持注释与其描述的代码相邻,即注释的就近原则。

4. 变量、常量的注释应放在其上方相邻位置或右方,不可放在下面。

5. 全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存 取时注意事项等的说明。

6. 类,方法的注释采用 eclipse 自动生成方法。

当把一个类,或方法的声明写完整后,在类,方法的正上方(不许有空格)在英文输入 法状态下输入:/** 后,系统会自动生成他们的注释模板,我们只需要填写相应的说明文字 即可,注意:/**的下一行一定要写功能说明。

7. 具体要求说明:

n 声明性(变量定义类)一定要有注释。例如:String myName; //用户名 n 类定义必须生成文档(JavaDoc)注释。

n 方法必须生成文档(JavaDoc)注释(包括实体类的set,get方法)。 n 成员变量必须生成文档(JavaDoc)注释。

n 方法中的逻辑部分由程序编写人根据复杂情况自行书写。

8. 类定义的注释信息,包括:作者;日期;模块功能描述(如功能、主要算法、内部各部

分之间的关系、该文件与其它文件关系等);本文件历史修改记录;版本信息等。

/**
* 干什么用的(描述信息)

JAVA代码开发规范(WISHSOFT)

* @author lifw20080320
* @modify lifw20080321
* @modify lifw20080322 (如果有多个,依次写多个@modify) * @copyright wishsoft
**/

9.javadoc 注释标签语法

@author 对类的说明 标明开发该类模块的作者

@version 对类的说明 标明该类模块的版本

@see 对类、属性、方法的说明 参考转向,也就是相关主题 @param 对方法的说明 对方法中某参数的说明

@return 对方法的说明 对方法返回值的说明

@exception 对方法的说明 对方法可能抛出的异常进行说明

五.基本数据类型前缀表(其他对象类型,随时补充):

Java 中数据类型

数据类型前缀

int

i

String

str

char

c

long

l

float

f

double

d

boolean

b

short

s

byte

byte

vector

v

六.日志组件使用规范(log4j)

1. Log 中的方法使用:

a) log.debug()是放在代码行中间,用来调试时输出使用,永久保留,不用删除。

b) log.error()是放在 try{}catch(){}中 catch 部分里的用来输出 error 异常信息使用的。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多