SuperAPI AI 工具集

domain-entity-typed-ids

智能体与模型

查看项目

更新于 10-15 20:13

技能介绍

用途:帮助代理在创建、修改、审查或解读领域实体标识符类型时,选择恰当的类型区分程度。核心依据是项目语言属于名义类型系统还是结构类型系统。

主要能力:名义类型系统(Kotlin、Java、Scala、Rust、Swift、C#、Go、Haskell)中,为每个领域实体定义包装底层标识符的独立类型,使用语言惯用的轻量包装(内联类、值类、newtype 等),在编译期防止不同实体ID互换,且无显著成本。结构类型系统(TypeScript、Python、Elixir、Clojure)中,若语言提供低摩擦机制使结构相同类型名义区分且不显著增加构造、序列化或持久化的样板,则使用类型ID;若需手工转换、自定义构造函数、特殊序列化处理等冗长非惯用模式,则直接使用底层标识符类型,并依靠参数命名(customerId、orderId)保持可读性,接受编译器不捕获ID错换。

使用方式:先判断语言类型系统,再检查项目既有约定并遵循;无约定时按上述规则选择,并在整个项目内对所有领域实体标识符统一采用同一约定,不混用。

适用场景:定义实体标识符类型、引入需要标识符的新实体、重构标识符类型、审查标识符类型安全性。

限制:未提供具体平台、价格或外部依赖信息;结构类型系统中若缺少低摩擦机制,类型安全由命名纪律而非编译器保证。