business-enums-display-config

开发工程

新增、重构或审查业务枚举及其文案、图标、颜色等静态展示映射时使用,统一编码定义、复用展示配置并保持协议兼容。普通文案或样式调整不触发。

npx skills add bingwu-devkit/skills --skill business-enums-display-config
下载 ZIP

SKILL.md

业务枚举与展示映射#

将业务编码、静态展示映射和动态业务逻辑分开维护,保持现有协议、文案和交互。仅处理当前任务涉及的范围,不自动扩大为全仓库整理。

先识别项目约定#

  • 查看适用的项目指令,查找相关定义、展示配置及调用方,沿用语言、目录结构、命名和导出方式,不另建一套体系。
  • 识别定义的权威来源。已有接口生成类型、Schema 或共享领域包时优先复用,避免手工维护第二份业务编码。
  • 没有既定约定时,按业务领域组织定义;共享定义放在公共领域模块,仅供局部流程使用的状态和映射就近维护。
  • 在 TypeScript 项目中,需要选择映射类型、处理未知编码或编写契约测试时,阅读 TypeScript 代码示例。示例编码、文案和模块组织仅用于说明,以项目契约和约定为准。

业务编码#

  • 有明确业务语义的状态、类型、模式、角色、分类和行为编码使用具名定义,避免在判断、请求参数、选项值、默认配置和轮询条件中重复写协议字面量。
  • 定义形式遵循项目惯例。TypeScript 项目没有既定惯例时,可采用 as const 对象和派生联合类型。
  • 同一业务语义复用定义;不同语义即使编码相同,也不强行合并。
  • 显式定义编码与选项的关系,不通过数组下标或排序推导协议值。选项范围、排列顺序和禁用条件由对应业务功能决定,不默认把全部枚举成员转成可选项。
  • 编码含义依据已确认的契约或权威实现。无法确认时不猜测命名,保留当前行为并说明待确认事项。
  • 普通 ID、数量、分页、尺寸、时长和数组索引不自动纳入业务枚举;标准协议状态码优先使用已有标准定义。

静态展示映射#

  • 文案、图标、颜色和提示等固定展示数据引用业务编码;业务编码不反向依赖 UI 或展示配置。
  • 多处使用且语义一致的映射共享维护;仅用于单个功能的映射就近放置。相同状态在不同场景有不同表达时,分别命名,不强行合并。
  • 固定对应关系优先使用对象或 Map 查表,避免重复条件分支。国际化项目沿用翻译键和现有翻译机制,不把当前语言文案固化为业务定义。
  • 区分完整映射与有意缺省的部分映射:已知成员要求全部配置时检查穷尽性,仅特定成员适用时使用部分映射。接口可能返回未知值,不等于已知成员的配置可以遗漏。
  • 请求、权限判断、状态流转、动态计算和选项可用性留在业务逻辑中,不混入静态展示配置。
  • 普通字段的空值展示复用项目已有方法;展示占位不得写入表单草稿、请求参数或其他业务数据。

兼容与边界#

  • 仅整理定义和映射时,保持协议编码、序列化形式、既有文案和交互不变。
  • 区分已知编码、未知编码和缺省值。索引展示映射前按现有契约处理,不用类型断言伪装为已知值,也不把未知值映射成正常业务状态。
  • 不因接入枚举顺带收紧或放宽运行时校验。用户已授权的契约修正按核实结果处理,并同步相关契约文档。
  • 抽离展示逻辑时保持现有空值判断语义,不机械互换 || 与 ??,不引入未经确认的备用字段或默认业务值。

验证与交付#

  • 检查受影响调用方是否复用定义、依赖方向是否正确,以及固定展示是否存在重复定义。
  • 按改动范围验证协议值、未知值、缺省值和原有展示行为。
  • 单元、组件、E2E 和公共 Mock 的业务场景数据复用具名定义;验证协议编码的契约断言保留独立的原始数字或字符串,避免定义错误时测试仍然通过。
  • 列明未确认的编码含义、契约问题及实际验证范围,不将局部核对表述为全仓库保证。纯文档修改无需运行业务测试。

FILES · 3