一.开发工具规范:

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. Spring之单元测试

    引言 是否在程序运行时使用单元测试是衡量一个程序员素质的一个重要指标.使用单元测试既可以让我检查程序逻辑的正确性还可以让我们减少程序测试的BUG,便于调试可以提高我们写程序的效率.以前我们做单元测试的 ...

  2. 【DateTime格式大全 】

    DateTime dt = DateTime.Now;//    Label1.Text = dt.ToString();//2005-11-5 13:21:25//    Label2.Text = ...

  3. 网易ios 面试

    1 说说 你对  MRC和 ARC 的理解 2  对OC内存分析 有什么好的方法, 3 corePlot 4 pop 动画 5 cocoapods 6 GCD 7 瀑布流 及 uicollection ...

  4. .net图片快速去底(去除白色背景)

    public System.Drawing.Bitmap KnockOutGzf(String path) { System.Drawing.Image image = System.Drawing. ...

  5. BitMap画图

    package com.example.examples_05_07; import android.content.Context; import android.graphics.Bitmap; ...

  6. Android之LinkedHashMap实现LRU

    先看下LinkedHashMap的数据结构图 对于LinkedHashMap而言,它继承与HashMap.底层使用哈希表与双向链表来保存所有元素.其基本操作与父类HashMap相似,它通过重写父类相关 ...

  7. 如何给非AppCompatActivity添加Toolbar?--关于5.0新特性兼容5.0以下设备的探索

    Android支持包22.1引进了AppCompatDelegate 最新22.1版本的支持包引入了大量酷炫的新特性,这些特性将允许我们轻易地将材料设计/API 21+的特性应用到之前的那些老的,不兼 ...

  8. JavaScript实例技巧精选(12)—计算星座与属相

    >>点击这里下载完整html源码<< 这是截图: 核心代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- ...

  9. DropDownListFor的用法

    Asp.Net MVC中DropDownListFor的用法   在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. ...

  10. Word文档合并

    Word文档合并的一种实现   今天遇到一个问题,就是需要把多个Word文档的内容追加到一个目标Word文档的后面,如果我有目标文档a.doc以及其他很多个文档b.doc,c.doc…等等数量很多.这 ...