Java编码规范总结

Java编码规范

一、编码规范概述

二、文件体系结构规则

1、文件体系规则

(1)java文件目录结构

<模块分类目录>

action:存放action(控制层\controller)、dao:存放dao(数据层)、form:存放展示层文件、service:存放业务逻辑文件、vo:存放数据对象文件

  • Model:model是数据模型,例如与数据库的某个表相关联
  • mappers:一般都是JavaBean对象,映射到各表对应的sql增删改查语句,以及表数据结构映射resultMap
  • dao:对数据模型的增删改查的执行操作方法
  • impl:继承services具体得到实现类、定义的接口
  • controller:将定义的接口包装处理,提供给前端调用的api

2、源文件结构规则

(1)包和引入语句

 

(2)类/接口

 

(3)类变量的声明顺序:public、protected、package、private

(4)变量、常量的注释应在上方或右方

(5)用递增的方式写构造器,参数多的写在后面

(6)类变量的存取方法get/set

(7)如果定义main()方法,必须写在类底部

三、文件命名规则

统一命名规则,对同一package中的文件命名一般以包名为后缀,service层:例如IUserService和UserServiceImpl

 

四、排版规则

1、左括号和后一个字符之间不存在空格,右括号和前一个字符会逐渐不存在空格

2、强制转换后跟一个空格

3、单行不超过80个字符,断行原则:逗号后、操作符前、较高层次断行、断行时行对齐、第一次断行缩进4个字符

五、注释规则

1、类方法注释:使用JavaDoc,写出每个参数和返回值的意义;当修改其他组员创建的类时,增加@author标签

2、代码块注释、单行/多行注释等等

3、Java代码中需要文档化的部分

(1)参数:类型,用于做什么,相关约束、限制或前置条件,复杂情况需要包含一个示例以说明

(2)变量:描述说明,复杂情况需要包含一个示例以说明

(3)类:类说明(作者、时间、功能、目的等),已知的bug,开发/维护历史

(4)接口:接口说明、使用方法

(5)局部变量:用法/目的

(6)方法内部注释:方法内部变量说明、复杂逻辑部分的代码注释

(7)方法:做什么以及为什么这样做,传入参数说明,返回说明,已知的bugs,方法抛出的异常说明,代码更新的历史记录,调用方法,前置条件/后置条件说明

六、命名规则

1、包命名规则:包的名字全部小写<根目录>.<一级目录>.<二级目录>.<三级目录>

2、类命名规则:

(1)使用英文名称

(2)类名是名词,采用大小写混合的方式,首字母大写  驼峰命名

(3)类命不要用复数

(4)不要以A、An、The开头

(5)若不能选择适当的类名,可把紧密相关的数据库表名作为类名

(6)使用完整单词,避免缩写词

3、接口命名规则:与类相同,名字前加  I

4、方法命名规则:动词+名词对,采用大小写混合的方式,第一个单词首字母小写;准确描述方法功能

5、变量命名规则:

(1)采用大小写混合

(2)除一次性混合变量以外,不能用单个字符的变量名

(3)如果变量名代表容器,后加List

6、常量:类常量全部用大写字母,单词间用下划线隔开

7、方法参数命名规则:全英文,首字母小写后续单词首字母大写

8、数组命名规则:将[ ]放在类型后

9、Boolean getter方法命名规则:is作为前缀   isString( )

10、Getter/Setter方法命名规则:以get/set为前缀

11、构造方法命名:使用类名

12、异常命名规则:异常类名以Exception结尾,异常实例名使用e命名

七、变量

1、变量规范:一行声明一个变量

2、提供对实例以及类变量的get和set方法

3、不要在一个语句中给多个变量赋相同的值

4、不要将赋值运算符用在容易混淆得到地方

5、局部变量不要和公共变量同名

6、声明变量的同时对变量进行初始化

八、方法

1、用注释详细说明每个参数的作用、取值范围及参数间得到关系

九、可读性

1、用括号明确表示出表达式的优先级,避免使用默认优先级

2、避免使用不易理解的数字,用有意义的标识来替代

3、源程序中关系较为紧密的代码应尽可能相邻

4、不使用难懂的技巧性很高的语句

5、不要在for循环的表达式里使用3个以上变量

十、程序效率

1、不要在循环内执行重复操作

2、对字符串有附加操作时,使用StringBuffer而非String

StringBuffer用作字符串拼接等附加操作的效率比String高出几个数量级

3、显式的把不再被引用的对象赋值为null

4、不要频繁的初始化对象,除非必要,否则不要再循环内初始化对象

十一、质量保证

1、质量保证规则

(1)打开的数据库连接、文件,在使用后在finally中关闭

(2)合理设计程序,避免占用太大内存

2、安全规则

(1)不使用不推荐的API:deprecated标记,最好不使用

(2)不滥用goto语句

(3)系统具有一定的容错能力

(4)常量与变量比较,常量在左边

(5)字符串:null的注意事项

使用eqlals()方法比较内容是否相同;使用StringUtils.isEmpty()判断null与"";使用StringUtils.isBlank()判断null、“”,“    ”

(6)不能处理的异常,往外层抛出,解决问题比界面友好更重要 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值