开发过程中如何减少属性注释?

一、注释冗余

举个例子,我们在开发项目中肯定会有状态字段,现在有个工单状态枚举
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;

}

视频讲解

开发过程中如何减少属性注释

你可能感兴趣的:(开发经验,开发经验)