首页 > 技术文章 > java后台开发代码规范

yiMro 2020-08-20 14:57 原文

  总结了一些在开发java项目中的代码规范。

  具体请参考阿里巴巴开发手册https://github.com/alibaba/p3c

一、 代码注释:

  1、 包括类名,方法名称等都使用统一注释模版。

/**
     * @author yxw
     * @date 2020/8/20 14:08 
     * @param 描述:delBrand 删除页面信息
     * @return
     */

  2、 某个方法中出现大量代码(单个方法代码超过300行),建议对方法进行抽象成多个方法。

  3、 代码块与块之间,最好填写注释,方便后期维护。

  注释模版参考资料:https://www.cnblogs.com/yanh0606/p/11990863.html

二、 方法命名规则:

  1model

    a、常规model对象由mybatis生成,

    b、对数据库层面的model进行扩展,统一存放在ext包下面,类名以Ext结尾。

    c、纯返回给前端展示或者查询条件用vo,对后台数据库查询出来后,新建对象重新组装的。比如树形接口的对象

    d、多个对象中属性的封装用dto,比如modelA用了3个字段,modelB用了2个字段,modelC用了4个字段

    e、不要在model层中做任何的逻辑操作

  2service

    a、所有接口名称都以Service结尾

    b、捕获每个调用dao层的异常,抛出正确的异常

    c、方法名格式:

         添加: add*    例如 Long addPubEmp(PubEmp pubEmp);

 public ResponeModel addPubEmp(PubEmp pubEmp)

      删除:del*  例如void delPubEmp(Long pubEmpId);

      修改:update*  例如void updatePubEmp(PubEmp pubEmp);

      查询单体:get*     例如 getPubEmpById,getAllEmp

      查询Listfind*    例如 findAllPubEmp

      单条件查询其字段字符不超过1024使用地址栏传参数

@ApiOperation(value = "删除页面信息")
    @ApiResponses(@ApiResponse(code = 0,message ="删除页面信息成功" ))
    @DeleteMapping("/{id}")
    public ResponeModel delBrand(@PathVariable("id") Integer id)

  3dao

    amybatis 包下都以Mapper结尾,可不写public

    bmybatis包下方法命名

      新增:insert*   例如:int insert(PubEmp record);

PubEmp addPubEmp(PubEmp pubEmp);

      删除:delete*   例如:int deleteByPrimaryKey(Long id);

      修改:update*  例如:int updateByPrimaryKey(PubEmp record);

      查询:select*     例如: selectByPrimaryKey  当返回值是单个对象时用select*

           find*    例如:findAll  当返回值是list时用 find*

        类名中的方法名与xml中的id一一对应,这里主要和mybatis的规范契合

  4provider

    Controller包下都以Controller结尾

    Controller方法内部代码不要超过60行

    每个Controller文件的都要使用@RestController和@RequestMapping注解而不是@Controller和@ResponseBody

@RestController
@RequestMapping("/SysUser")  

  数据访问入口 

    保存:    统一url入口   /add*  post请求

                  方法名称: add*

@PostMapping("/insertBrandPage") 
public ResponeModel insertBrandPage(BrandPage brandPage)

      修改: 统一url入口   /update*   

                  方法名称: update *   put请求

      删除:            url入口  / delete*  delete请求

      方法名称:delete*

    查询单体:   url入口  /get*  get请求

    查询list:     url入口  /find*  post请求

    数据访问入口,当只有一个请求类型是一样的接口时 url入口写   /

 @PostMapping("/")            // 新增信息接口 

    Url访问路径:一般情况和方法名一致,如遇到方法名特别长的,可以简化处理。

三、 驼峰命名

  1、所有类名用大驼峰

UserNameById.java

  2、所有方法名用小驼峰

userName

  3、所有参数用小驼峰

  4、control、service、dao、层的包名和文件文件要对应,不然可能会出现映射失败的错误

四、 数据库

  1.数据表使用下划线命名

  2.每个字段应该写明具体描述

  3.每个应最少要有主键、创建人、创建时间、编辑人、编辑时间字段

  4.数据库除主键外不要做数据校验

  5.时间应该由程序传入

  6.数据库不应该有物流约束

 

推荐阅读