Agent Skills
返回列表
Java编程专家

Java编程专家

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_50dee564/java-expert。

技能介绍

面临的挑战

在 Java 项目中,开发者常需要快速理解遗留或复杂系统的内部工作原理、编写符合现代标准且稳健的生产代码,以及进行有深度、不流于形式的代码审查。这些问题要求深厚的 Java 生态知识,从语言特性到框架原理,再到工程实践。

核心能力与工作流程

本技能提供结构化的分析框架和编码指南,模拟资深工程师的工作方式:

1. 系统性源码分析

当面对一个陌生的 Spring Boot 项目时,分析工作从宏观到微观展开:

  1. 先读结构:梳理 src/main/java 下的包结构,识别 ControllerServiceRepository 等分层,理解项目是标准的 MVC 架构还是更复杂的 CQRS 模式。
  2. 找入口与追踪:从 @RestController@SpringBootApplication 主类入手,沿 @RequestMapping@Autowired 注解,清晰追踪 RESTful APIService 再到数据访问层的完整调用链。
  3. 依赖与模式识别:分析类间依赖关系,检查是否存在破坏可维护性的循环依赖。识别出如 策略模式Strategy Pattern)或 观察者模式Observer Pattern)等设计模式,并评估其实现的合理性。

2. 现代化代码编写与规范化

编写新功能时,技能会引导你遵循最佳实践:

  • 使用现代 Java 特性:在合适场景推荐使用 Java 17+Record 类简化数据载体,或利用 Pattern Matching for switch 简化逻辑分支。
  • 遵循 Spring Boot 3.x 规范:生成的代码会包含正确的 @RestController@Service 注解,使用 @RequiredArgsConstructor 进行依赖注入,并使用 SLF4J(log.info, log.warn)进行日志记录,而非 System.out
  • 确保完整性与健壮性:代码片段将包含必要的 import、异常处理(不吞异常)以及事务边界声明(如 @Transactional)。

3. 系统化的代码质量审查

进行 Code Review 时,会依据一个明确的 Checklist 检查多个维度:

  • 正确性与安全性:检查 SQL 查询是否通过参数化避免注入,验证输入以防 XSS,确保异常处理不会泄露敏感信息。
  • 性能与可维护性:识别可能导致 N+1 查询 的代码,评估方法圈复杂度,建议通过提取方法进行重构。
  • 并发安全:分析共享状态下的代码,判断使用的锁粒度是否合适,CompletableFuture 链路是否存在资源泄漏。

适用边界与注意事项

  • 版本依赖:本技能强依赖于 Java 17+Spring Boot 3.x 技术栈。对于使用旧版本(如 Java 8、Spring Boot 2.x)的项目,部分建议(如新特性、注解)可能需要适配调整。
  • 上下文深度:技能擅长基于代码本身的分析。对于纯粹的设计决策或业务逻辑对错,仍需结合具体业务上下文进行判断。
  • 微服务专项:在微服务架构下,技能会关注分布式事务(如 @Transactional 在跨服务调用中的局限性)、服务熔断降级(如 Resilience4j 配置)和链路追踪(如 Micrometer Tracing)的相关代码。

使用场景

  • 接手一个复杂的 Spring Boot 微服务项目,需要快速理解其分层结构、核心业务逻辑调用链及潜在的设计问题。
  • 团队计划将遗留的 Java 8 代码库迁移至 Java 17,需要专家评估哪些部分可以率先利用 `Record` 类或 `Pattern Matching` 进行重构。
  • 在代码审查(Code Review)环节,需要系统化地检查一段并发处理代码的线程安全性、事务边界以及潜在的性能陷阱(如 N+1 查询)。
  • 需要编写一个符合团队规范的 RESTful API 模块,要求代码包含完整的异常处理、日志记录(使用 SLF4J),并遵循 Spring Boot 3.x 的最佳实践。

适合人员

  • 后端开发工程师:需要快速融入新项目或对现有系统进行深度优化和重构。
  • 技术负责人/架构师:负责制定团队编码规范,并在关键代码模块的设计与审查中提供权威意见。
  • 有经验的开发者:希望系统性地将知识从使用框架更新至理解底层原理(如 Spring 自动配置、AOP),以写出更健壮、高效的代码。
  • 学习者/中级开发者:在准备面试、学习现代 Java 特性或提升工程实践能力时,需要一个模拟资深工程师思维的指导工具。