Java 代码规范总结

合抱之木,生于毫末;九层之台,起于垒土千里之行,始于足下。-----------送给在码农之路上搬砖的自己。

  1. Controller层 : 控制层,解析参数,不服用简单的业务处理,包装返回数据
  2. API : 对外接口,定义外部接口放的约束
  3. ApiImpl : 对外接口实现类,封装service暴露成为RPC接口服务
  4. Service : 接口定义,业务约束
  5. Serviceimpl : 具体的业务逻辑处理
  6. Manager : 接口定义,数据库约束,封装dao
  7. ManagerImpl : 通用处理层,service层的下沉,对dao层数据处理,对多个dao组合复用
  8. Dao : 数据库具体操作的接口
  9. DaoImpl : 目前一般都是使用相应的ORM框架代替,例如Mybatis等

DO、DTO、Query、Req、Result 使用解析

  1. DO : XXXDO,与数据库表结构一一对应,通过DAO向上传输
  2. DTO : XXXDTO,数据传输对象,用于service/manager层使用
  3. Query : XXXQuery,数据查询对象,在各种中都有使用
  4. Req : Controller层 对内输入请求对象
  5. Result : Controller/Api 对外传输对象

工程结构包含对象

  1. common : 相对独立的公共类/工具类,放哪里都能使用,不用引用其他包
  2. api : Api接口,对外传输的Result/DTO/constant/enum等
  3. domain : 内部使用的数据结构(DTO,DO,Query,COnstant,Enum)
  4. dao : dao,daoimpl,mybatis.xml
  5. service : service,serviceImpl,manager,managerImpl,apiImpl
  6. Web : controller,Req

命名规范

  1. 格式规范 
    1.1 类名使用首字母大写的驼峰式 例如:WxhcUserDAO 
    1.2 方法/参数/成员变量/局部变量 使用首字母小写的驼峰式 wxhcUserDAO.query() 
    1.3 常量 全部大写的单词且用下划线拼接 USER_DATE_OF_BIRTH 
    1.4 工程结构包名 全部小写,点分隔符且只有一个自然语义的英文单词 com.baidu.api

  2. 取名规范 
    2.1 类名 抽象类以Abstract开头 / 基础类以Base开头 / 异常类以Exception结尾 / 测试类以Test结尾 / 常量以Constant结尾 / 枚举类以Enum开头 
    2.2 方法 获取单个/多个 : get/query ; 统计数量 : count ; 插入 : insert/save/batchXXX ; 删除 : delete/remove/batchXXX ; 更新 : update/batchXXX 
    2.3 变量 变量名使用正确的业务英文单词,初始化 
    2.4 数组定义 int[] arr 
    2.5 枚举 枚举是一种特殊的常量,类名以Enum开头,成员变量使用常量命名方式

  3. 其他 
    3.1 尽量不要出现魔法值 
    3.2 long/Long 定义的时候使用L非l 
    3.3 if 括号 运算符之间加空格 
    3.4 单行不超过120个字符,方法调用.号换行 多参数,号换行
  4. 对外提供的接口(serviceImpl/apiImpl)的public方法 一定要做参数校验
  5. 注解 
    5.1 实现类中重写方法一定加上@override的注解,避免方法与接口约束不一致 
    5.2 对于过期的方法接口加上 @Deprecated标签,且注释新的代替方法 
    5.3 8大基本数据类型的包装类只能使用equal的方法比较 
    5.4 pojo/rpc中使用包装类型,因为null也是一种特殊的含义 
    5.5 局部变量建议使用基本数据类型
  6. 方法 
    6.1 一个类中的方法顺序最好为 public --> protect --> private ---> get/set 
    6.2 类的get/set方法不参杂业务逻辑,如果是必要的使用init()/destory()防范 
    6.3 所有的public方法必须严格按照javaDoc的形式 入参注释 逻辑注释 出参注释 
    6.4 接口中的方法和成员变量必须严格按照javadoc的形式 
    6.5 代码改了 需要更新注释,注释的代码请删除
  7. 代码格式化快捷键(mac) 
    7.1 option+command+L : 当前类中的代码格式化 
    7.2 control+option+O : 移除当前类中未使用的引入(import)
  8. java代码规范推荐查看《阿里巴巴java开发手册》和《Effective Java》

点赞寸辉的分享


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值