团队代码规范v1.2


代码规范-废话篇

提供一整套编写高效可靠的Java代码的标准,约定和指南。他们以安全可靠的软件工程原则为基础,使代码易于理解,维护和增强。而且,通过遵循这些程序设计标准,你作为一个Java软件开发者的生产效率会有显著提高。经验证明,若从一开始就花时间编写高质量的代码,则在软件开发阶段,对代码的修改要容易很多。最后,遵循一套通用的程序设计标准将带来更大的一致性。


1. 开发工具规范

1.1    统一JDK版本

1.2    统一开发工具,和配置

统一开发工具,eclipse,并使相同的配置,如:format等
windows,Mac 都可以使用 JRebel, 具体查看我的另外一篇博客: http://blog.csdn.net/lsblsb/article/details/15340251

1.2.1 format配置统一
 在eclipse -> Preferences -> java -> code style -> fomatter ,  创建一个,然后编辑,
 Line Wrapping中,maximum line width: 200

1.2.2 新建java类,注释配置:
在eclipse -> Preferences -> java -> code style -> Code Templates  -> code: New Java files
修改对应的内容

1.2.3 特殊template配置:
Preferences -> java -> Templates ,  新建一个属于自己的tempates
如:新建dao类,需要生成与一般类不同的注释,我是通过java的template来实现,类似输入syso出来System.out.println() 同原理。

1.2.4 代码补全提醒配置
详见链接: http://blog.csdn.net/u010275119/article/details/8956972

等等。。

1.3    统一与代码相关的的插件

插件列表:

1.3.1 findbugs

Findbugs是一个在java程序中查找bug的程序,它查找bug模式的实例,也就是可能出错的代码实例,它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。
注意Findbugs是检查java字节码,也就是*.class文件。

访问地址:http://findbugs.cs.umd.edu/eclipse/
插件地址:http://findbugs.cs.umd.edu/eclipse

1.3.2 checkStyle

Checkstyle是一款检查Java程序源代码样式的工具,它可以有效的帮助我们检视代码以便更好的遵循代码编写标准,特别适用于小组开发时彼此间的 样式规范和统一。Checkstyle提供了高可配置性,以便适用于各种代码规范,所以除了使用它提供的几种常见标准之外,你也可以定制自己的标准。 Checkstyle提供了支持大多数常见IDE的插件,大部分插件中就含有最新的Checkstyle,就不用费心再部署一份了。

访问地址:http://eclipse-cs.sourceforge.net/
插件地址:http://eclipse-cs.sourceforge.net/update

2.命名规范

2.1 采用驼峰形式命名
2.2  一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写
2.3 常量大写,单词之间用一个下划线分隔
2.4 使用可以准确说明的英文描述符
2.5 以get打头的方法不能返回boolean值
2.6 获取方法返回值是boolean型的要以”is”,”have”,”can”,”has”打头,提高代码可读性
2.7 用”is”,”have”,”can”,”has”打头的方法必须返回boolean型.
2.8 构架相关组件命名约定

中文名称

英文名称

备注

接口

IXXX

 xxxxxxxxxxxxxxxxxxxx

工具类

XXXUtil

 

Receiver类

XXXReceiver

 

LogicHandler类

XXXHandler

 

构件类

XXXExecutor

 

数据访问类

XXXDAO

 

Web动作响应类

XXXAction

 

Web动作数据类

XXXForm

 

常量定义类

XXXConstants

 

辅助类

XXXHelper

 

异常类

XXXException

 

Servlet

XXXServlet

 

基础类

BaseXXX

 


3.代码布局规范

3.1源代码的布局顺序是:包,import语句,源文件注释,类
3.2在一个类中,布局顺序依次是:非私有变量、私有变量、构造器、方法、内部类、main方法
3.3 类中非私有变量的布局顺序是:public、package、protected
3.4构造器有多个时,要依据参数少的在前面,参数多的在后面的原则编写代码,提高代码可读性
3.5类中方法的布局顺序是:public、package、protected、private
3.6函数重载要集中在一起声明,提高代码可读性
3.7一个类的代码行不超过2000行
3.8一个方法的代码行不超过200行
3.9 针对dao类,有更加严格的要求(找个例子)


4.代码书写规范

4.1每行只有一个句子,提高代码可读性
4.2方法之间要有一空行,不同的逻辑块之间也要有空行,在定义类和接口之前要有空行,提高代码可读性。
4.3 import语句必须引用到具体的类
4.4 注释约定
    4.4.1源文件(.java文件)头部应进行注释,注释必须列出:版权说明、作者、内容(功能)、生成日期、版本号等
    4.4.2类:类的目的(即类所完成的功能),注释出采用的常量。
    4.4.3接口:设置接口的目的、它应如何被使用以及如何不被使用。
    4.4.4成员函数注释:对于设置与获取成员函数,在成员变量已有说明的情况下,可以不加注释;普通成员函数要求说明完成什么功能,参数含义是什么、返回什么。
    4.4.5普通成员函数内部注释:控制结构,代码做了些什么以及为什么这样做,处理顺序等
类文件头注释规范

在每个文件的头部至少必须要有以下注释信息:

序号

项目

填写说明

1

标题

该模块名称

2

描述

文件的详细功能描述

3

作者

文件创建人姓名

4

版权

固定为“U

5

创建时间

文件创建日期,格式:YYYY-MM-DD

6

修改历史记录

修改历史记录注释的增加采用正序排列,即文件头上最后的一组是最新的修改记录,具体详细项目如下:

序号

项目

填写说明

1

维护单

维护单号,格式:xxxx

2

修改日期

修改日期,格式:YYYY-MM-DD

3

修改人

修改人姓名

4

修改内容

修改内容主要描述修改的功能描述和修改的方法名列表

 

注释风格采用JavaDOC风格,标准格式样例如下:

 

/**

 * <p>标题: U箱架构注释样例类</p>

 * <p>描述: U箱架构注释样例类</p>

 * 描述如何正确使用JAVA代码注释,本样例实现了对于类头部、函数、属性和修改记录进行了详细注释。

 * <p>版权: U箱</p>

* <p>创建时间: 2012-1-10</p>

 * <p>作者:聂鹏</p>

* <p>修改历史记录:</p>

 *====================================================================<br>

 * 维护单:xxxxx<br>

 * 修改日期:2012-1-9<br>

 * 修改人:聂鹏<br>

 * 修改内容:<br>

     修改DbUtil类的查询时候出现的NULLPointException的BUG,主要修改了方法GetResult。<br>

 */

    4.4.6 方法注释 属性 需要以doc的方式编写
类文件头注释规范

5.配置文件规范

5.1 sqlmap文件
5.1.1 标签编写顺序要求:
typeAlias
resultMap
sql
后面的sql语句按照crud的顺序,一般数据库只做逻辑删除
insert
select
update


5.1.2 每条sql语句排行要求
语句:select from where and set update都是单独一行展示,排版清晰
如:
<select id="queryById" resultMap="areaMapping" parameterClass="long">
select
            <include refid="area-full-columns" />
from
        uxiang_db_area t
where
        t.id = #value#
and
        t.deleted = 0
</select>

6.页面规范

6.1 velocity
6.1.1 页面上输出变量的时候,需要添加! 如: $!searchDO.name
6.1.2 页面上所有链接地址都需要写完全路径。
如:<a href="$baseModule.setTarget('list').param('catId',$subCatDO.id)">列表</a>
不能写成:
<a href="list.htm?catId=$subCatDO.id ">列表</a>

7.日志使用规范

7.1 log.debug()是放在代码行中间,用来调试时输出使用,永久保留,不用删除
7.2 log.error()是放在 try{}catch(){}中 catch 部分里的用来输出 error 异常信息使用的。

8.扫黄行动

有黄色警告的地方全部消灭
8.1 代码要格式化,部分格式化
8.2 清除所有没有使用的类,和方法,以及import包,除非基于某种原因考虑
8.3 清除没有意义的注释,主要是代码注释,除非基于某种原因考虑
8.4 测试代码删除
8.5 去掉TODO. FIXME 等注释

9.友情提醒 or最佳实践

9.1数据上传处理一些数据的时候,如果可以走异步模式


待完善。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值