Java或项目规范约定

  1. 统一日志
    • 类增加 @Slf4j 注解
      • 严禁System.out.print
      • log.debug() 调试输出 (开发测试时使用)
      • log.info() 关键信息输出 (保留上线)
      • log.warn() 警告信息输出(开发人员关键业务数据异常监控)
      • log.error() 异常信息
  2. 统一异常处理
    • 统一捕获异常 Controller AOP
    • Service定义 : 统一 throws Exception
    • Exception定义:
      • BusinessException
        • 业务逻辑方面上的异常(数据库数据重复,已存在,该状态不可删除等)
      • ParameterException
        • 非法参数异常(参数NPE判断等)
      • NetworkException
        • 网络方面异常(包括SocketException, 网络超时等)
      • ThirdpartyException
        • 第三方服务异常(短信, Gis 等与第三方交互时产生的异常)
      • IOException
        • 文件IO方面异常
  3. 统一RestAPI风格
    • Method
      • GET - 获取
        • /api/ship/task/1
        • /api/ship/task/list
      • POST - 创建
        • /api/ship/task
      • PUT - 更新
        • /api/ship/task/1
      • DELETE - 删除
        • /api/ship/task/1
    • 返回值
      • 沿用AjaxResult.java { code : 0, msg : "添加成功" , data : {ID:100} }
  4. 统一配置管理
    • 常量类,字典表
    • IP,URL等配置文件化
  5. SQL规范
    • SQL关键词全部大写
      • SELECT FROM UPDATE DELETE LIMIT INNER JOIN 等
  6. 代码提交规范
    • 修复 XX;XX
    • 新增XX;XX
    • 移除XX;XX
    • 优化XX;XX
  7. Pojo类
    • 数据表Pojo类有 创建人,创建用户ID 这类字段的.
      统一继承 BaseEntity 父类
      import java.io.Serializable;
      import java.util.Date;
      
      import com.baomidou.mybatisplus.annotation.FieldFill;
      import com.baomidou.mybatisplus.annotation.TableField;
      import com.fasterxml.jackson.annotation.JsonFormat;
      
      import io.swagger.annotations.ApiModelProperty;
      import lombok.AllArgsConstructor;
      import lombok.Data;
      import lombok.NoArgsConstructor;
      
      /**
       * Entity基类
       *
       * @author Nanci
       */
      @Data
      @NoArgsConstructor
      @AllArgsConstructor
      public class BaseEntity implements Serializable {
          private static final long serialVersionUID = 1L;
      
          @ApiModelProperty(value = "创建人id")
          @TableField(value = "create_by", fill = FieldFill.INSERT)
          private Integer createBy;
      
          @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
          @ApiModelProperty(value = "创建时间")
          @TableField(value = "create_time", fill = FieldFill.INSERT)
          private Date createTime;
      
          @ApiModelProperty(value = "更新人id")
          @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE)
          private Integer updateBy;
      
          @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
          @ApiModelProperty(value = "更新时间")
          @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
          private Date updateTime;
      }

       

  8. DTO 类
    • 数据传输尽量使用DTO类
    • 对于多字段创建RequestDTO ResponseDTO类
  9. 字典字段必须使用枚举
  10. Redis MQ命名规范
    • 系统_业务_参数名_类型

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值