← 返回列表
AI 编程Agent Skill

Java Streams Skill:为 AI 编程代理提供 Java Stream 与 Collectors 最佳实践指导

martinfrancois/java-streams-skill · Help AI coding agents use Java Streams and Collectors well in new code, review, and cleanup without replacing one antipattern with another.

GitHub原文发布 未知首次收录 2026-09-20上架 2026-09-20 07:02

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

这是一个面向 AI 编程代理的 Tessl 技能插件,用于在编写新 Java 代码、代码审查和清理重构时,帮助代理正确选择 Stream 终止操作与 Collectors,避免「先收集再判断存在性」「排序取第一个」「用 count 判断存在」等常见反模式,并在选择并行流前评估数据规模、CPU 开销、共享状态、顺序契约和阻塞 IO。技能还要求代理先确认项目 Java 版本,因为 Java 8、17、21 和 24 适用的流式 API(如 takeWhile、mapMulti、Stream.toList()、gatherers)不同。

核心能力与快速开始

★ 0 · Python

能做什么
为 AI 代理提供紧凑的流式编程决策指南:根据目标结果选择合适的 Stream 终止操作,正确使用 anyMatch、min/max、Collectors.joining、groupingBy、mapping、counting、summing、summarizing、partitioningBy、toMap、teeing 等 Collector,使用原始类型流处理原始聚合,避免 null 敏感排序与重复键导致的 toMap 失败,并判断 parallelStream() 是否真的适用。技能支持实现、审查和清理三类任务,并提醒代理先检查项目 Java 版本以选择兼容 API,例如 takeWhile、mapMulti、Stream.toList() 和 gatherers。README 中给出了一个产品库存检查示例:在 Java 24+ 下用 Gatherers.mapConcurrent 实现有界并发与背压。
适用场景
Java 项目中让 AI 编程代理编写或修改 Stream 与 Collectors 代码;对已有流式代码做代码审查并给出可修复项;在不改变行为的前提下清理反向模式(如收集列表后判断存在性、count() > 0、sorted().findFirst()、map 成列表后 String.join);决定 findFirst 与 findAny 的语义取舍;判断是否该使用 parallelStream;按项目 Java 版本选择兼容的流式 API。
项目形态
开发框架
部署方式
通过 Tessl 插件注册表安装,可用 npm、yarn、pnpm、bun 或 Tessl CLI 执行安装命令;支持技能自动选择的代理(如 Codex、Claude Code)可自动触发。其余部署条件未说明。
主要依赖
需要支持 Tessl 技能/插件的 AI 编程代理环境;安装依赖 npx、yarn dlx、pnpx、bunx 或 Tessl CLI 之一。具体硬件与 API 成本未说明。
使用限制
不适合与流式或 Collectors 无关的广泛 Java 风格约束;不应用于把直白的有状态循环强行改写为难以阅读的流式技巧;不涉及需要维护者同意的大型 API 重构或新依赖引入;不应为了看起来更函数式而改变业务行为。README 中 Java 24 的 Gatherers.mapConcurrent 示例仅适用于对应版本项目。
许可证
MIT
最近推送
2026-09-20 00:51

资料检查:2026-09-20 07:00 · 卡片整理:2026-09-20 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容

职业应用

程序员

在编写新 Java 代码、代码审查和清理重构时,帮助 AI 编程代理正确选择 Stream 终止操作与 Collectors,避免「先收集再判断存在性」「排序取第一个」「用 count 判断存在」等常见反模式,并在选择并行流前评估数据规模、CPU 开销、共享状态、顺序契约和阻塞 IO;同时要求代理先确认项目 Java 版本以选择兼容的流式 API。

查看内容依据
这是一个面向 AI 编程代理的 Tessl 技能插件,用于在编写新 Java 代码、代码审查和清理重构时,帮助代理正确选择 Stream 终止操作与 Collectors,避免「先收集再判断存在性」「排序取第一个」「用 count 判断存在」等常见反模式,并在选择并行流前评估数据规模、CPU 开销、共享状态、顺序契约和阻塞 IO。

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。