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

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

一、 代码注释:

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

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

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

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

  

二、 方法命名规则:

、model层

、常规model对象由mybatis生成,

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

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

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

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

、service层

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

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

、方法名格式:

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

public ResponeModel addPubEmp(PubEmp pubEmp)

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

例如void updatePubEmp(PubEmp pubEmp);

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

      查询List: find*    例如 findAllPubEmp

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

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

、dao层

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

、mybatis包下方法命名

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

PubEmp addPubEmp(PubEmp pubEmp);

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

例如:int updateByPrimaryKey(PubEmp record);

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

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

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

、provider层

    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("/")            // 新增信息接口

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

三、 驼峰命名

、所有类名用大驼峰

UserNameById.java

、所有方法名用小驼峰

userName

、所有参数用小驼峰

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

四、 数据库

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

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

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

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

  5.时间应该由程序传入

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