Java代码规范

1、包名:

包名使用域名反转定义,全部使用小写字母.一般的,第三级为所属的项目名称,第四级以及以后为该类或接口所属功能分类

正确样例:

package com.ceshi.xxx;

package com.ceshi.search.service;

2、导入

导入语句不允许使用通配符

正确样例:

         import com.ceshi.search.SomeClass;

         import com.ceshi.search.SomeInterface;

静态导入需在后面进行说明

         importstatic java.sql.Types.VARCHAR;//用于在后续SQL中对应varchar的类型

3、文件注释

文件注释应紧跟导入语句.文件注释推荐为javadoc注释

Javadoc样例:

/**

 * 类名、接口名、注释名或者枚举名

 * <pre>

 * <ol>

 <li>

 *   功能点

 </li>

 <li>

 *   功能点

 </li>

 * </ol>

 * </pre>

 *

 * @version 1.0

 * @author <a href="someone@ceshi.com">someone</a>

 * @Date some time

 * @updated <a href="someone@ceshi.com">someone</a>

 */

javadoc样例

/*

 * 类名、接口名、注释名或者枚举名

 *  1.功能点

 *  2.功能点

 * @version 1.0

 * @author <a href="someone@ceshi.com">someone</a>

 * @Date some time

 * @updated <a href="someone@ceshi.com">someone</a>

 */

 

4、类名

类名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.类名首字母大写.采用驼峰拼写法

后缀名规范:

后缀

用途

样例

Service

该类标注为具体业务功能实现类

PriceReadService

ImageService

Dao

该类标注为数据操作类

WriteEntityDao

HotWordDao

Controller

该类标注为Spring-MVC的控制层

ImageController

FileUploadController

Impl

该类标注为对应接口的实现类

CommonServiceImpl

LocalCacheServiceImpl

5、接口名

接口名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.接口名首字母为大写I.采用驼峰拼写法

后缀名参考类名

正确样例:

IImageService

IPriceReadService

6、枚举名

枚举名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.枚举名首字母为大写E.采用驼峰拼写法

正确样例:

EUserAge

EChinaRegion

7、注释名

注释名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.枚举名首字母为大写.采用驼峰拼写法

正确样例:

ServiceBefor

DaoSetup

8、变量名

变量名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.变量建议在类名之下,第一个方法之前的位置进行声明.最上方为常量,其下为静态变量,类级变量在最下方.

同时,同类变量以作用域顺序进行排列

9、常量名:

常量全部为大写,单词间使用下划线分割

正确样例:

publicfinalstaticintSERVICE_ERROR = 0;

privatefinalstatic String QUERY_USER_BY_ID = "SELECTSOMEONE FROM SOMETABLE WHERE ID= ? ";

10、静态变量

正确样例:

publicstaticlongstartTime = 0L;

privatestatic SimpleDateFormat simpleDateFormat;

11、变量

变量名首写字母为小写.不允许使用下划线等开头命名

正确样例:

private String userName;

privateintage;

private List userAdds;

12、构造函数

如本类有且只有无参构造函数,则根据java规范可忽略.

正确样例:

public Test(){

    this(Test.DEFAULT_SOME);

}   

public Test(String some){

    //somecode

}

13、方法名

方法名使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.首字母小写采用驼峰拼写法.方法名建议使用动词.参数列表的命名应遵循

gettersetter方法为特定命名规范.

get+非布尔属性名

is+布尔属性名

set+属性名

14、方法注释

方法注释应在方法名上方.并与上一方法至少相隔一行.建议使用javadoc注释

    /**

     * 方法名称

     * <pre>

     *  功能描述

     * </pre>

     * @param some

     * @return Stringsome return

     * @Date some time

     * @updated <a href="someone@ceshi.com">someone</a>

     */

15、配置文件

配置文件的key使用通俗易懂的单词描述,可使用拼音,但尽量避免拼音单词同用.首写字母小写.采用驼峰拼写法.

同时的,每一个配置项上方应加入注释

正确样例:

#--------------------------------------------------------------------

# Image Configuration

#--------------------------------------------------------------------#允许上传的文件大小(默认值:2M)

fileUpload.maxSize=10485760

# 允许上传的文件类型

fileUpload.filetypes=jpg,jpeg,gif,png

 

#--------------------------------------------------------------------#文件存储目录配置

#--------------------------------------------------------------------#文件存储根目录(默认:/images)

storage.rootDir=/images

# 每个子目录下的目录个数(默认值:256)

storage.childDir.number=512

# 目录深度(默认值:2)

storage.childDir.depth=5

16、缩进

程序块要采用缩进风格编写,缩进的空格数为4个,不推荐使用Tab缩进

17、分界符

左大括号 { 应紧跟本条语句,同时在代码段结尾换行写入右大括号 },右大括号与起始语句对齐.

正确样例:

for (int i = 0; i < some; i++) {          

}

if (condition) {          

}

publicvoid someMethod(String... someArray) { 

}

18、语句关闭

分号除了在for条件语句之外,一行代码只能出现一次.同时需要杜绝误打多个分号的情况.

正确样例:

if (condition) {

    some.code;

} 

return some;

19、长语句

较长的语句、表达式或参数(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读.

some.code(other.getSome(), other.getOther(),

           other.between(one, tow));

if, for, do,while, case, switch, default 等语句自占一行,且if, for, do, while,switch等语句的执行语句无论多少都要加括号{},case的执行语句中如果定义变量必须加括号{}.

switch (key) {

case value:{

       int some=aa;

       other.setSome(some);

    }

    break;

 

default:

 

        break;

}

20、空行

相对独立的程序块之间、变量说明之后必须加空行.

 int index=0;//索引,下标从0开始

                                  此处为空行

some.code(index);

21、对等操作符

在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;进行非对等操作时,如果是关系密切的立即操作符(如.),后不应加空格.

if (a == b) {

    some.equals(other);

}

a += USER_COUNT;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值