当前位置: 首页 > article >正文

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

一、注释冗余

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

}

视频讲解

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


http://www.kler.cn/a/527847.html

相关文章:

  • CUDA学习-内存访问
  • 论文阅读笔记 —— 英文论文常见缩写及含义
  • Java内存模型 volatile 线程安全
  • 服务器虚拟化技术详解与实战:架构、部署与优化
  • Deepseek技术浅析(二):大语言模型
  • 如何将DeepSeek部署到本地电脑
  • Cursor 背后的技术栈:从 VS Code 到 AI 集成
  • 数据结构 树1
  • LeetCode题练习与总结:不含连续1的非负整数--600
  • level-icmp(ping)详细过程_6
  • 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
  • 团体程序设计天梯赛-练习集——L1-028 判断素数
  • 课程设计|结构力学
  • 蓝桥杯真题k倍区间
  • C# Winform enter键怎么去关联button
  • 分层多维度应急管理系统的设计
  • 疯狂拆单词01
  • 文件上传功能(一)
  • 抽象类与抽象方法详解
  • Matrials studio 软件安装步骤(百度网盘链接)
  • 【RocketMQ 存储】- broker 端存储批量消息的逻辑
  • CE-PBFT:大规模联盟区块链的高可用一致性算法
  • Unet 改进:在encoder和decoder间加入TransformerBlock
  • 【leetcode强化练习·二叉树】同时运用两种思维解题
  • 【Java异步编程】CompletableFuture基础(1):创建不同线程的子任务、子任务链式调用与异常处理
  • 黑马点评 - 商铺类型缓存练习题(Redis List实现)