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

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

一、注释冗余

举个例子,我们在开发项目中肯定会有状态字段,现在有个工单状态枚举
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 {//工单idprivate 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 {//工单idprivate 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 {//工单idprivate 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 {//工单idprivate Long id;//工单当前处理人private String name;/*** @see StatusEnum*/private Integer status;}

视频讲解

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

http://www.lryc.cn/news/529601.html

相关文章:

  • NX/UG二次开发—CAM—快速查找程序参数名称
  • socket实现HTTP请求,参考HttpURLConnection源码解析
  • 访问CMOS RAM
  • 解决AnyConnect开机自启动问题
  • 芯片AI深度实战:进阶篇之vim内verilog实时自定义检视
  • 数据结构实战之线性表(一)
  • jdk8项目升级到jdk17——岁月云实战
  • 商品列表及商品详情展示
  • 使用where子句筛选记录
  • SQL Server查询计划操作符(7.3)——查询计划相关操作符(5)
  • C++中常用的十大排序方法之4——希尔排序
  • 扶摇计划--从失业的寒冬,慢慢的走出来
  • unity学习24:场景scene相关生成,加载,卸载,加载进度,异步加载场景等
  • [cg] 使用snapgragon 对UE5.3抓帧
  • 一元函数微积分的几何应用:二维平面光滑曲线的曲率公式
  • ISBN 号码——蓝桥杯
  • Spring Boot - 数据库集成06 - 集成ElasticSearch
  • 51单片机CLD1602显示万年历+闹钟+农历+整点报时
  • C++ 中的类(class)和对象(object)
  • 安卓通过网络获取位置的方法
  • 2025 年,链上固定收益领域迈向新时代
  • npm启动前端项目时报错(vue) error:0308010C:digital envelope routines::unsupported
  • 11.QT控件:输入类控件
  • deepseek核心技术:MLA架构-多头潜在注意力
  • 讯飞星火大模型API使用Python调用
  • C#面试常考随笔7:什么是匿名⽅法?还有Lambda表达式?
  • Elasticsearch:如何搜索含有复合词的语言
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.25 视觉风暴:NumPy驱动数据可视化
  • idea maven本地有jar包,但还要从远程下载
  • C++编程语言:抽象机制:模板(Bjarne Stroustrup)