Java注释规范Skills

Polar Sponsor
爱发电 赞助
.NET 9.0

当用户要求为 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();

编辑流程

  1. 新增类时,按照类注释模板补齐完整 /** ... */ 注释。
  2. 修改已有类时,保留已有类注释中的创建时间和历史修改记录。
  3. 调整 @version 前,先使用 Git 命令确认项目是否存在 release 分支或 release tag。
  4. 优先对比 release 中同路径同类文件,并检查是否新增方法签名。
  5. release 中不存在同路径同类文件时,按新增类处理,版本默认 1.0。
  6. release 中存在同路径同类文件且未新增方法时,在已有版本号基础上递增小版本。
  7. release 中存在同路径同类文件且新增方法时,在已有版本号基础上递增大版本。
  8. Git 或 release 不可用时,按当前改动内容兜底判断版本。
  9. 修改已有类或方法时,在 @description 中补充本次修改内容。
  10. 按 时间 姓名:修改内容 格式追加 @modifyRecord,不要删除历史记录。
  11. 将所有行尾 /* ... */ 注释转换为目标代码上一行的独立中文块注释。
  12. 所有新增业务代码注释统一使用中文,说明代码意图,不解释显而易见的语法。
  13. 移动或新增注释后,应用本技能中的空行规则。
  14. 写入 Java 文件时保持 UTF-8 无 BOM 编码。

验证

修改 Java 注释后,执行:

mvn -q test

检查是否仍存在行尾块注释:

rg -n "Ss/*.**/s*$" src/main/java

如果 Java 编译报 非法字符: 'ufeff',先将本次改动过的 Java 文件重新保存为 UTF-8 无 BOM,再重新测试。

相关专题

更多
IntelliJ IDEA调试技巧汇总
IntelliJ IDEA调试技巧汇总

本合集讲解 IDEA 断点调试、条件断点、远程调试、微服务链路调试、内存快照分析、异常定位高级用法,解决 Java 项目排查难题。

2026.08.11

51

15

Java Spring Boot多租户架构设计与数据隔离实战
Java Spring Boot多租户架构设计与数据隔离实战

本专题聚焦 Java 企业级系统中的多租户架构设计,讲解数据隔离策略、租户路由机制、数据库分库分表方案以及权限控制模型。通过真实 SaaS 系统案例,帮助开发者构建可扩展的多租户应用架构。

2026.06.29

216

13

Java Spring Boot3响应式编程与WebFlux实战
Java Spring Boot3响应式编程与WebFlux实战

本专题围绕Spring Boot 3中的响应式编程体系展开,系统讲解 WebFlux 的非阻塞模型、Reactive Streams、Mono 与 Flux 使用方式,以及在高并发场景下的性能优势。结合真实后端案例,帮助开发者构建低延迟、高吞吐的响应式服务架构。

2026.06.22

180

17

Java分布式事务与Seata实战架构设计
Java分布式事务与Seata实战架构设计

本专题围绕 Java 分布式系统中的事务一致性问题展开,系统讲解分布式事务的核心理论与解决方案。内容包括 Seata AT/TCC 模式原理、事务协调机制、服务调用链一致性保障以及高并发场景下的数据一致性设计策略。通过真实微服务案例,帮助开发者构建可靠的分布式事务处理体系。

2026.06.16

161

12

Java消息队列与异步解耦实战
Java消息队列与异步解耦实战

系统讲解 Java 中消息队列的集成与应用实践,涵盖消息队列的核心概念(生产者/消费者/Topic/Queue/Exchange)、RabbitMQ 的交换机类型与 Spring AMQP 集成、Kafka 分区/副本/消费者组机制与 Spring Kafka 配置、RocketMQ 事务消息与顺序消息、消息可靠投递(确认机制/持久化/重试)、消费端幂等性保障(唯一ID/去重表)、死信队列与延迟消息处理、消息积压监控与扩容策略,帮助开发

2026.05.18

235

29

Java缓存技术与Redis集成教程合集
Java缓存技术与Redis集成教程合集

系统讲解 Java 项目中缓存技术的选型与实践,涵盖本地缓存方案(HashMap 手动缓存/Guava Cache/Caffeine 高性能缓存)的使用与淘汰策略配置、Redis 数据结构(String/Hash/List/Set/ZSet)在缓存场景的应用、Jedis / Lettuce / Redisson 客户端选型、Spring Cache 注解(@Cacheable/@CachePut/@CacheEvict)的声明式缓存、缓

2026.05.15

402

34

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

280

26

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

2026.05.09

229

25

Java 函数式接口与 Lambda 进阶技巧
Java 函数式接口与 Lambda 进阶技巧

在 Java Stream 基础之上进一步深入函数式编程,涵盖 @FunctionalInterface 注解与自定义函数式接口设计、四种方法引用(静态/实例/对象/构造器)的使用场景、Lambda 中的 effectively final 变量捕获规则、函数组合(andThen/compose)与柯里化技巧、Comparator 链式比较器构建、CompletableFuture 异步函数式编排、Reactor / RxJava 响应

2026.05.08

248

28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
dev.java 官方:Learn Java
dev.java 官方:Learn Java

共0课时 | 0人学习

Java JDBC数据库连接官方教程
Java JDBC数据库连接官方教程

共0课时 | 0人学习