开发过程中如何减少属性注释?
一、注释冗余
举个例子,我们在开发项目中肯定会有状态字段,现在有个工单状态枚举
StatusEnum.java
package cn.zxj.note;
/**
* @author: Administrator
* @since: 2025/1/30 14:40
* @description:
*/
public enum StatusEnum {
TO_BE_SUBMITTED(1,"待提交"),
SUBMITTED(2,"已提交"),
PENDING_APPROVAL(3,"待审核"),
APPROVAL(4,"审核通过")
;
private Integer status;
private String desc;
StatusEnum(Integer status, String desc) {
this.status = status;
this.desc = desc;
}
}
然后在BO、VO实体类里有用到状态属性,通常我们会在状态属性上写硬编码注释
BO.java
package cn.zxj.note;
/**
* @author: Administrator
* @since: 2025/1/30 14:44
* @description:
*/
public class BO {
//工单id
private Long id;
//工单类型
private Integer type;
/**
* 硬编码注释
* 1,"待提交";2,"已提交";3,"待审核";4,"审核通过"
*/
private Integer status;
}
VO.java
package cn.zxj.note;
/**
* @author: Administrator
* @since: 2025/1/30 14:44
* @description:
*/
public class VO {
//工单id
private Long id;
//工单当前处理人
private String name;
/**
* 硬编码注释
* 1,"待提交";2,"已提交";3,"待审核";4,"审核通过"
*/
private Integer status;
}
硬编码注释会存在不小的维护成本,比如枚举里面的状态增加了,新增了审核不通过状态,那么BO、VO的状态属性上的注释也需要维护。
二 、解决方案
不写硬编码注释,直接通过@see注解指向状态枚举,不管状态枚举增加多少种状态,后面BO、VO的状态属性注释都不用维护了。
BO.java
package cn.zxj.note;
/**
* @author: Administrator
* @since: 2025/1/30 14:44
* @description:
*/
public class BO {
//工单id
private Long id;
//工单类型
private Integer type;
/**
* @see StatusEnum
*/
private Integer status;
}
VO.java
package cn.zxj.note;
/**
* @author: Administrator
* @since: 2025/1/30 14:44
* @description:
*/
public class VO {
//工单id
private Long id;
//工单当前处理人
private String name;
/**
* @see StatusEnum
*/
private Integer status;
}
视频讲解
开发过程中如何减少属性注释