当用户要求为 Java 代码添加注释、修改注释、审查注释、整理注释格式,或要求按照代码注释规范处理 Java 文件时,使用本技能。本技能用于统一生成和维护 Java 类注释模板、按 Git 对比 release 判断版本号、补充每行代码上方中文块注释、调整注释空行规则,并保持 Java 文件 UTF-8 无 BOM 编码。典型触发场景包括:补充类注释、更新 @version、检查 @author 来源、整理行尾注释、把注释放到代码上一行、检查注释是否符合规范、构建前检查 Java 注释风格。
Java 注释规范
功能概述
Java 注释规范是一项面向实际任务的技能,主要用于当本项目 Java 代码需要新增、调整、审查或统一注释风格时,使用本技能;完整项目规范文档为 docs/JAVA_COMMENT_RULES.md ,本技能作为实际执行时的操作清单;
核心要点
- 类注释模板;
- 类注释统一使用下方模板:;
- 类注释字段规则;
使用与执行
@author : 优先读取 IDEA 文件模板或项目约定中的 author;修改已有类时,如果类注释中已存在 @author ,保。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
结果检查与注意事项
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Java 注释规范
概述
当本项目 Java 代码需要新增、调整、审查或统一注释风格时,使用本技能。
完整项目规范文档为 docs/JAVA_COMMENT_RULES.md,本技能作为实际执行时的操作清单。
类注释模板
类注释统一使用下方模板:
/**
* @author ${USER}
* @version 1.0
* @createTime 2026-04-16
* @company DUOWEI UNION GROUP CO.,LTD.
* @description 手动刷新计划含税相关金额
* @registerPosition dw_saleoutbill_sale
* @modifier
* @modifyRecord 2026-04-28 ryan:补充金额刷新逻辑
*/
类注释字段规则
@author: 优先读取 IDEA 文件模板或项目约定中的 author。修改已有类时,如果类注释中已存在@author,保留原值;如果 IDEA 中无法读取 author,则使用当前系统用户名;仍无法确认时留空等待开发人员补充。@version: 优先通过 Git 对比 release 中同路径同类文件判断版本。新增类默认1.0;修改已有类且未新增方法时,小版本递增,例如1.0到1.1;修改已有类且新增方法时,大版本递增,例如1.1到2.0;Git 或 release 不可用时,按当前改动内容兜底判断。@createTime: 优先使用类注释或文件上下文中的类创建时间。如果没有类创建时间,则使用当前日期。@company: 固定写DUOWEI UNION GROUP CO.,LTD.。@description: 填写类或方法的实际用途。修改已有类或方法时,需要在描述中包含本次修改内容。@registerPosition: 填写实际模块、服务、路由或业务位置。无法确认时,先根据包名和类名推断;仍无法确认时留空,等待开发人员补充。@modifier: 修改已有类或方法时填写修改人。优先使用与@author相同的来源;无法确认时留空等待开发人员补充。@modifyRecord: 按时间 姓名:修改内容格式填写修改记录。保留已有记录,并为每次有意义的修改追加新记录。
Git 对比 release 判断版本
判断是否在 Git 仓库中:
git rev-parse --is-inside-work-tree
查看 release 分支是否存在:
git branch --all | grep release
查看 release tag 是否存在:
git tag --list | grep release
判断 release 中是否存在同路径同类文件:
git cat-file -e release:src/main/java/com/example/Demo.java
查看 release 中的类文件内容:
git show release:src/main/java/com/example/Demo.java
对比当前文件与 release 文件:
git diff release -- src/main/java/com/example/Demo.java
查看方法签名变化时,仍使用文件差异命令,并重点检查新增的 public、private、protected 方法签名:
git diff release -- src/main/java/com/example/Demo.java
如果项目使用 release tag,则将命令中的 release 替换为实际 release tag。这里的同类指 release 中同路径、同类名的 Java 文件。新增方法按方法签名判断,字段、注释、import 或已有方法内部逻辑变化不算新增方法。
业务代码注释
业务代码每行上方使用一个中文块注释说明该行代码:
/* 判断路由配置是否为空 */
if (!StringUtils.hasText(routeConfigJson)) {
/* 清空当前动态路由 */
routeDefinitionRepository.replaceAll(new ArrayList<>());
}
不要把块注释放在代码行尾:
if (!StringUtils.hasText(routeConfigJson)) { /* 判断路由配置是否为空 */
routeDefinitionRepository.replaceAll(new ArrayList<>()); /* 清空当前动态路由 */
}
空行规则
如果 /* 内容 */ 是 { ... } 代码块中的第一行,注释直接放在 { 下方,中间不加空行。
public void refreshRoutes(String routeConfigJson) {
/* 判断路由配置是否为空 */
if (!StringUtils.hasText(routeConfigJson)) {
/* 清空当前动态路由 */
routeDefinitionRepository.replaceAll(new ArrayList<>());
}
}
如果 /* 内容 */ 上方不是以 { 结尾的代码块起始行,则注释和上方代码之间保留一个空行。
/* 清空当前动态路由 */ routeDefinitionRepository.replaceAll(new ArrayList<>()); /* 通知Gateway刷新路由缓存 */ routeRefreshPublisher.publishRefreshEvent();
编辑流程
- 新增类时,按照类注释模板补齐完整
/** ... */注释。 - 修改已有类时,保留已有类注释中的创建时间和历史修改记录。
- 调整
@version前,先使用 Git 命令确认项目是否存在 release 分支或 release tag。 - 优先对比 release 中同路径同类文件,并检查是否新增方法签名。
- release 中不存在同路径同类文件时,按新增类处理,版本默认
1.0。 - release 中存在同路径同类文件且未新增方法时,在已有版本号基础上递增小版本。
- release 中存在同路径同类文件且新增方法时,在已有版本号基础上递增大版本。
- Git 或 release 不可用时,按当前改动内容兜底判断版本。
- 修改已有类或方法时,在
@description中补充本次修改内容。 - 按
时间 姓名:修改内容格式追加@modifyRecord,不要删除历史记录。 - 将所有行尾
/* ... */注释转换为目标代码上一行的独立中文块注释。 - 所有新增业务代码注释统一使用中文,说明代码意图,不解释显而易见的语法。
- 移动或新增注释后,应用本技能中的空行规则。
- 写入 Java 文件时保持 UTF-8 无 BOM 编码。
验证
修改 Java 注释后,执行:
mvn -q test
检查是否仍存在行尾块注释:
rg -n "Ss/*.**/s*$" src/main/java
如果 Java 编译报 非法字符: 'ufeff',先将本次改动过的 Java 文件重新保存为 UTF-8 无 BOM,再重新测试。
热门AI工具
相关专题
本专题聚焦 Java 企业级系统中的多租户架构设计,讲解数据隔离策略、租户路由机制、数据库分库分表方案以及权限控制模型。通过真实 SaaS 系统案例,帮助开发者构建可扩展的多租户应用架构。
216
2026.06.29
本专题围绕Spring Boot 3中的响应式编程体系展开,系统讲解 WebFlux 的非阻塞模型、Reactive Streams、Mono 与 Flux 使用方式,以及在高并发场景下的性能优势。结合真实后端案例,帮助开发者构建低延迟、高吞吐的响应式服务架构。
180
2026.06.22
本专题围绕 Java 分布式系统中的事务一致性问题展开,系统讲解分布式事务的核心理论与解决方案。内容包括 Seata AT/TCC 模式原理、事务协调机制、服务调用链一致性保障以及高并发场景下的数据一致性设计策略。通过真实微服务案例,帮助开发者构建可靠的分布式事务处理体系。
161
2026.06.16
系统讲解 Java 中消息队列的集成与应用实践,涵盖消息队列的核心概念(生产者/消费者/Topic/Queue/Exchange)、RabbitMQ 的交换机类型与 Spring AMQP 集成、Kafka 分区/副本/消费者组机制与 Spring Kafka 配置、RocketMQ 事务消息与顺序消息、消息可靠投递(确认机制/持久化/重试)、消费端幂等性保障(唯一ID/去重表)、死信队列与延迟消息处理、消息积压监控与扩容策略,帮助开发
235
2026.05.18
系统讲解 Java 项目中缓存技术的选型与实践,涵盖本地缓存方案(HashMap 手动缓存/Guava Cache/Caffeine 高性能缓存)的使用与淘汰策略配置、Redis 数据结构(String/Hash/List/Set/ZSet)在缓存场景的应用、Jedis / Lettuce / Redisson 客户端选型、Spring Cache 注解(@Cacheable/@CachePut/@CacheEvict)的声明式缓存、缓
402
2026.05.15
聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes
280
2026.05.11
系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi
229
2026.05.09
在 Java Stream 基础之上进一步深入函数式编程,涵盖 @FunctionalInterface 注解与自定义函数式接口设计、四种方法引用(静态/实例/对象/构造器)的使用场景、Lambda 中的 effectively final 变量捕获规则、函数组合(andThen/compose)与柯里化技巧、Comparator 链式比较器构建、CompletableFuture 异步函数式编排、Reactor / RxJava 响应
248
2026.05.08
热门下载
相关下载
精品课程
共0课时 | 0人学习
共0课时 | 0人学习
共0课时 | 0人学习
