mcpField
1
144-java-data-oriented-programming

144-java-data-oriented-programming

github.com/jabrena开发456377 次安装1 天前更新
代码仓库

关于 144-java-data-oriented-programming

面向 Java 开发者的数据导向编程技能,指导使用不可变记录、纯转换和验证进行建模与重构。要求修改前先编译,并在完成后验证完整构建。

主要功能

  1. 01分离数据结构与行为
  2. 02使用不可变记录和结构
  3. 03组合纯数据转换
  4. 04采用带 ID 引用的扁平数据
  5. 05用纯函数验证数据
  6. 06使用通用数据访问接口

适用场景

  1. 01重构 Java 数据模型
  2. 02分离行为与不可变数据
  3. 03验证数据完整性
  4. 04审查数据转换模式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 144-java-data-oriented-programming

安装后在 Claude Code 中输入/144-java-data-oriented-programming确认已加载。

附带文件references/144-java-data-oriented-programming.md

详细介绍

Java 面向数据编程最佳实践

在 Java 中应用面向数据编程:使用 record 将数据与行为分离,采用不可变数据结构,通过纯函数进行转换,使用带 ID 引用的扁平化非规范化结构,在需要时将泛型类型转换为特定类型,使用纯验证函数,以及灵活的泛型数据访问层。所有转换都应明确、可追踪,并由清晰的纯函数式步骤组合而成。

此 Skill 涵盖哪些内容?

  • 关注点分离:数据结构(record、POJO)与行为(工具类、服务)
  • 不可变性:record、final 字段,转换会生成新实例
  • 纯数据转换:仅依赖输入且没有副作用的函数
  • 扁平化、非规范化数据:使用 ID 引用,而非深层嵌套
  • 先泛型、后具体:动态数据使用 Map<String,Object>,处理时转换为 record
  • 数据完整性:返回验证结果的纯验证函数
  • 灵活的泛型数据访问:泛型 CRUD 接口,可互换的实现

范围: 本参考资料按示例(良好/不良代码模式)介绍各个核心领域。请根据适用的示例应用建议。

约束

应用任何面向数据编程建议之前,请确保项目可以编译。编译失败属于阻断条件。应用改进后,请运行完整验证。

  • 强制要求:应用任何更改前,运行 ./mvnw compile 或 mvn compile
  • 安全要求:如果编译失败,立即停止;解决问题前不得继续
  • 验证要求:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考资料,了解每种面向数据编程模式的详细良好/不良示例、约束和保障措施

何时使用此技能

  • 使用面向数据编程改进代码
  • 应用面向数据编程
  • 使用面向数据编程重构代码
  • 使用 record 和纯函数对 Java 数据建模
  • 将 Java 行为与不可变数据结构分离
  • 使用纯 Java 函数验证数据完整性

工作流

  1. 在进行面向数据的更改前编译项目

运行 ./mvnw compile 或 mvn compile,如果编译失败则立即停止。

  1. 阅读面向数据编程参考资料并评估模型设计

阅读 references/144-java-data-oriented-programming.md,找出适合分离数据与行为以及进行不可变转换的对象。

  1. 应用面向数据编程重构

使用 record、纯转换函数、扁平化结构和显式验证来实现选定的改进。

  1. 通过完整构建进行验证

应用改进后,运行 ./mvnw clean verify 或 mvn clean verify。

参考资料

如需详细指南、示例和约束,请参阅 references/144-java-data-oriented-programming.md。

评论

支持 Markdown