TTokenySpace
返回 Skills 列表

Java基础版

提供空指针防护、equals/hashCode 实现、try-with-resources 管理、基础集合操作与异常处理的 Java 代码审查与建议。

#中文
0

安装到 Tokeny(自动)

下载 ZIP
安装"java-free"技能
技能信息:
- 名称: Java基础版
- 标识: java-free
- 描述: 提供空指针防护、equals/hashCode 实现、try-with-resources 管理、基础集合操作与异常处理的 Java 代码审查与建议。
- 版本: 1.0.0
下载地址:
https://www.tokeny.space/api/skills/java-free/download
继续

复制上方内容到 Tokeny 客户端并在会话中发送即可自动安装;也可直接 下载 ZIP并拖动到技能窗口安装。

SKILL.md

Java 基础版

核心能力

  • NullPointerException 防护:识别潜在的空指针风险点,推荐使用 Optional、Objects.requireNonNull 与空值检查
  • equals 与 hashCode 规范实现:依据 Object 契约正确实现 equals 与 hashCode,避免对称性、传递性与一致性陷阱
  • try-with-resources 资源管理:对 AutoCloseable 资源使用 try-with-resources,确保流、连接、文件句柄正确释放
  • 基础集合操作:推荐使用不可变集合(List.of、Map.of、Set.of)与 ArrayList、HashMap 的基础用法
  • 基础异常处理:区分受检异常与非受检异常,避免捕获 Throwable 与吞没异常

快速开始

  1. 确认运行环境满足依赖说明中的要求
  2. 在AI Agent对话中调用本技能,提供必要的输入参数
  3. 检查输出结果,根据需要进行后续处理

详细的输入输出格式请参考下方章节说明。

适用场景

场景输入输出
空指针检查待审查的 Java 方法风险点列表与修复建议
equals 实现类定义与字段规范的 equals 与 hashCode 实现
资源管理涉及 IO/连接的方法try-with-resources 改写建议
集合初始化集合创建代码推荐的不可变集合或 ArrayList 用法
异常处理try-catch 代码块规范化建议与潜在问题

不适用于:复杂并发(如 synchronized、ReentrantLock、ConcurrentHashMap 原理)、复杂泛型(如通配符 PECS、类型擦除陷阱)、JVM 性能调优、Spring/Java EE 框架深度问题等场景(请使用高级版)

使用流程

  1. 确认运行环境满足依赖说明中的要求
  2. 读取待审查或待生成的 Java 代码
  3. 按核心能力维度逐项分析(空指针、相等性、资源、集合、异常)
  4. 给出问题清单与修复建议,必要时生成改写后的代码
  5. 输出结果与执行日志

输入格式

参数名类型必填说明
codestring待审查的 Java 代码片段或文件路径
focusstring关注维度,可选: null/equals/resources/collection/exception/all,默认: all
strict_levelstring审查严格度,可选: strict/normal/loose,默认: normal
output_formatstring输出格式,可选: markdown/json/text,默认: markdown

输出格式

{
  "success": true,
  "data": {
    "overall_grade": "B",
    "total_score": 82,
    "max_score": 100,
    "summary": "发现 2 个空指针风险点与 1 个 equals 实现问题",
    "details": [
      {
        "item": "空指针防护",
        "status": "warn",
        "score": 75,
        "comment": "第 12 行的返回值未做空检查,建议使用 Optional.ofNullable"
      },
      {
        "item": "equals 实现",
        "status": "fail",
        "score": 60,
        "comment": "equals 未先比较引用再比较字段,且未处理 null 情况"
      },
      {
        "item": "资源管理",
        "status": "step_done",
        "score": 95,
        "comment": "已正确使用 try-with-resources"
      }
    ],
    "improvements": [
      {
        "priority": "high",
        "suggestion": "为 getUser 返回值添加 Optional 包装",
        "expected_gain": "+8分"
      },
      {
        "priority": "medium",
        "suggestion": "重写 equals 方法,加入 getClass 与 null 检查",
        "expected_gain": "+5分"
      }
    ]
  },
  "error": null
}

异常处理

错误场景原因处理方式
代码无法解析语法错误或不完整的 Java 代码提示用户修正语法后检查网络连接和配置后重试,标记错误位置
文件不存在code 参数为路径但文件不存在检查路径是否为绝对路径,确认文件存在
focus 维度无效focus 参数值不在可选范围内提示可选值列表,建议使用默认值 all
输出格式不支持output_format 参数值无效回退为默认 markdown 格式并提示

依赖说明

运行环境

  • Agent平台: 支持SKILL.md规范的任意AI Agent
  • 操作系统: Windows / macOS / Linux
  • Java 版本: 建议 JDK 11 及以上(涉及 Optional、List.of 等 API)

依赖项

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent内置LLM提供

API Key 配置

  • 本Skill基于指令驱动,无需额外API Key

可用性分类

  • 分类: MD+EXEC()
  • 说明: 基于Markdown的AI Skill,通过自然语言指令驱动Agent执行Java代码审查

案例展示

示例1:审查一个 Service 方法

输入: code=UserServiceImpl.java 片段, focus=null
处理: 识别返回值未包装 Optional -> 标记风险点 -> 给出修复建议
输出: 空指针防护得分 75,建议使用 Optional.ofNullable

示例2:生成 equals 与 hashCode

输入: code=仅包含字段定义的 User 类, focus=equals
处理: 依据字段生成规范的 equals 与 hashCode -> 校验契约
输出: 包含 getClass 检查、null 检查与字段比较的完整实现

常见问题

Q1: 如何开始使用 Java 基础版?

A: 查看使用流程章节,准备待审查的 Java 代码,然后按"输入格式"提供 code 与 focus 参数即可.

Q2: 审查严格度 strict、normal、loose 有何区别?

A: strict 会标记所有潜在风险点(包括风格问题);normal 聚焦明确的缺陷;loose 仅报告高风险问题。建议初次使用选择 normal.

Q3: Java 基础版支持并发问题审查吗?

A: 不支持。基础版聚焦空指针、相等性、资源、集合与异常五个维度,如需审查并发陷阱、复杂泛型、JVM 调优,请升级至高级版.

Q4: 如何获取并发陷阱防护、复杂泛型、JVM 性能调优等高级能力?

A: 这些属于高级版能力。基础版聚焦高频陷阱防护,如需深入并发(synchronized、volatile、ConcurrentHashMap)、泛型(PECS、类型擦除)与 JVM 调优能力,请升级至高级版.

错误处理

错误场景(续)原因处理方式
LLM响应超时或无响应网络延迟或模型负载过高检查网络连接和配置后重试;确认Agent平台LLM服务正常
输入内容格式不正确用户输入不符合skill预期格式检查输入是否符合skill使用说明中的格式要求,参考示例章节
执行结果与预期不符指令描述不够明确或上下文不足提供更详细的指令描述,补充必要的上下文信息
命令执行失败运行环境不满足要求或权限不足确认运行环境符合依赖说明中的要求;检查命令权限设置

已知限制

  • 不支持并发问题审查(synchronized、volatile、ReentrantLock、死锁、线程安全集合)
  • 不支持复杂泛型分析(通配符 PECS、类型擦除、桥接方法)
  • 不支持 JVM 性能调优(GC 策略、内存模型、字节码分析)
  • 不支持 Spring、Java EE、JavaFX 等框架深度问题
  • 不支持模块化系统(module-info.java)的分析
  • equals 与 hashCode 生成仅覆盖基础场景,不涉及继承体系下的复杂实现

评论

加载中…