JAVA 代码开发规范

时间:2022-09-18 16:06:58

一.开发工具规范:

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 代码开发规范的更多相关文章

  1. IDEAL葵花宝典:java代码开发规范插件 p3c

    前言: P3C插件 是阿里巴巴p3c项目组进行研发.这个项目组是阿里巴巴开发爱好者自发组织形成的虚拟项目组,根据<阿里巴巴Java开发规范>转化而成的自动化插件,并且实现了部分自动编程. ...

  2. IDEAL葵花宝典:java代码开发规范插件 lombok 插件

    前言: lombok简介: lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. 那么 ...

  3. IDEAL葵花宝典:java代码开发规范插件 checkstyle、visualVM、PMD 插件

    前言: visualVM: 运行java程序的时候启动visualvm,方便查看jvm的情况 比如堆内存大小的分配:某个对象占用了多大的内存,jvm调优必备工具. checkstyle: CheckS ...

  4. IDEAL葵花宝典:java代码开发规范插件:GsonFormat插件将JSONObject格式的String 解析成实体

    前言: GsonFormat插件主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 这个教程主要是学习IntelliJ IDEA ...

  5. IDEAL葵花宝典:java代码开发规范插件 FindBugs-IDEA

     前言: 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug. 使用步骤: 1):打开 Settings ...

  6. IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件

    前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有 ...

  7. IDEAL葵花宝典:java代码开发规范插件 GenerateAllSetter、ECtranslation、translation、插件

    前言:  GenerateAllSetter: 我们在程序开发过程中,往往要编写这样的类:类的部分或者全部属性不希望让外部世界直接访问,而不用public字段修饰.这样,方法调用成了访问这些属性的唯一 ...

  8. IDEAL葵花宝典:java代码开发规范插件 (maven helper)解决maven 包冲突的问题

    小编说到: 在我们日常开发当中常常我们会遇到JAR包冲突.找来找去还找不到很是烦人.那么所谓的JAR包冲突是指的什么那?JAR包冲突就是-引入的同一个JAR包却有好几个版本. 例如: 项目中引用了两个 ...

  9. java代码开发完成后,代码走查规范

    代码走查注意事项: 1.不变的值,尽量写个常量类 2.尽量使用if{}else,不要一直if去判断 3.减少循环调用方法查询数据库 4.dao层尽量不要用逻辑,尽量在service里写业务逻辑 5.金 ...

随机推荐

  1. 搭建 OpenStack 实验环境 - 每天5分钟玩转 OpenStack(16)

    在学习 OpenStack 各服务之前,让我们先搭建起一个实验环境. 毋庸置疑,一个看得到摸得着而且允许我们随便折腾的 OpenStack 能够提高我们的学习效率. 因为是我们自己学习用的实验环境,C ...

  2. OpenCv全景图像拼接

    http://my.oschina.net/xiaot99/blog/226589 http://blog.csdn.net/chenjiazhou12/article/details/2282548 ...

  3. 响应式的dribbble作品集魔术布局展示效果

    在线演示1 本地下载 相信做设计的朋友肯定都知道dribbble.com,它是一个非常棒的设计师分享作品的网站,全世界数以万计的设计高手和行家都在这个网站上分享自己的作品,当然,如果你常在上面闲逛的话 ...

  4. js Dom树结构分析

    对Dom数结构的理解,对用js操作html元素有很大的意义 先来看一下下面这段html代码:(这里就以分析body中的元素来解释,因为我们基本所有的操作基本都围绕body标签来做的) <!DOC ...

  5. DotDensityRenderer

    关键之处在于获取每个点所代表的的值 这里使用geodatabase类库中idatastatistic接口进行统计字段,再将结果传递给esrisysytem.istatisticsResult进行. 需 ...

  6. 手机自动化测试:appium源码分析之bootstrap一

    手机自动化测试:appium源码分析之bootstrap一   前言: poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.popte ...

  7. MHD simulation with python

    这里为MHD(磁流体力学)模拟做一些准备,可能现在学习物理的人从某种程度上也得变成程序猿吧.MHD模拟面临的问题是求解一个三维的偏微分方程组,其中涉及的流体元格点非常多.所以希望先从简单的一维模型出发 ...

  8. C&num; base64编码、解码

    public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...

  9. scala中Either的一种使用场景

    用scala有一年多了,对于scala中的Option和Try使用的较为频繁,对其应用场景相对熟悉一些.而对于Either,仔细回想一下却发现几乎(完全)没有使用过,其实并不是没有遇到过Either的 ...

  10. 一个简单的scrollTop动画的方法

    var autoScrollTop = function (param) { var delay = param.scrollDom.height() * 20; param.dom.animate( ...