08 — 术语 / 字段词典规范(Glossary · 统一语言)
📦 来源:
wl-skills-designv0.11.1 ·standards/08-glossary.md· 可判定条目由verify([M] 机械项)自动执行。
✅ v1.0 — 工具无关(适用于任何 spec / DB / 接口 / 代码文档) 维护者:@ChenyCHENYU
§零 本规范的定位
本文件是整个设计链路「统一语言(Ubiquitous Language)」的唯一权威来源,约定一份中央词典,把同一业务概念在 spec / 数据库 / 接口 / 代码四处的名称、英文名、类型、枚举、模块码统一钉死,作为字段对齐的中央锚点(single anchor)。
它解决的根本问题:此前 spec↔DB↔接口的字段对齐靠「中文名匹配 / 英文名子集」在评审时才发现对不齐。 有了中央词典后,字段对齐从「评审时发现」提前到「设计时查词典即杜绝」—— 各产物生成时先查词典取标准名,DB-X / IF-X / D4 的联动校验改为与词典比对,而非两两互比。
┌─────────────────────────────────────┐
│ 08-glossary.md 中央词典(锚点) │
│ 中文名 ↔ 英文名 ↔ 类型 ↔ 枚举 │
└───────┬─────────┬─────────┬─────────┘
│ │ │
查词典取名 查词典取名 查词典取名
▼ ▼ ▼
spec ───► DB ───► 接口
(06) (03) (04)
└────────┴─────────┘
D4 联动校验 = 三方各自与词典比对(07)配套技能:
.github/skills/cross-glossary/SKILL.md(操作流程) +.github/prompts/create-glossary.prompt.md(生成) +validate-glossary.prompt.md(验证)。 规范定义"做什么",Skill 定义"怎么做",两者不重复。
§一 词典构成(四类词条)
一份完整词典分册由四类词条组成,固定顺序:
术语字段词典
├── (1) 业务术语词条 ← 业务概念定义(对接 spec §2.3 专有名称)
├── (2) 字段词条 ← 核心:中文名 ↔ 英文名 ↔ 类型 单一映射
├── (3) 枚举 / 状态码词条 ← 状态机与下拉选项的统一取值
└── (4) 编码注册表 ← 领域码 / 模块码 / 系统简码 全局唯一登记| 词条类型 | 唯一键 | 作用 | 反哺校验 |
|---|---|---|---|
| 业务术语 | 中文术语 | 消除同义异名、明确定义 | D4 / V12 命名一致 |
| 字段词条 | 英文名(全局唯一) | 中文名↔英文名↔类型单一映射 | DB-X / IF-X / D4 V02/V09/V13 |
| 枚举词条 | 枚举组名 + 值 | 状态码 / 选项取值统一 | D4 / V15 枚举一致 |
| 编码注册 | 码值 | 领域码/模块码/系统简码不冲突 | D4 / V14 模块码一致 |
§二 字段词条表(核心 · 唯一权威格式)
这是词典最核心的部分。同一业务字段,全链路只允许有一个英文名、一个标准中文名、一个逻辑类型。 任何 spec / DB / 接口文档引用字段时,名称与类型必须取自本表,不得自造。
| 序号 | 字段中文名 | 字段英文名 | 逻辑类型 | 所属域 | 枚举组 | 定义 | spec 出处 | DB 落点 | 接口出现 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 订单号 | orderNo | varchar(40) | 订单 | - | 业务唯一单据号 | ORDR IPO | ordr_order_main.orderNo | SRC_DST_B_01 |
| 2 | 订单状态 | orderStatus | tinyint | 订单 | ORDER_STATUS | 订单生命周期状态 | ORDR IPO | ordr_order_main.orderStatus | SRC_DST_B_01 |
| 3 | 目标件重 | targetQuantity | decimal(10,2) | 生产 | - | 单件目标重量(吨) | PLAN IPO | plan_plan_dtl.targetQuantity | SRC_DST_B_01 |
列填写规则
| 列 | 规则 |
|---|---|
| 字段中文名 | 业务标准中文名,唯一;同义词在「业务术语」词条登记并指向此标准名 |
| 字段英文名 | 小驼峰(camelCase),全局唯一;与 DB 数据字典、接口报文英文名逐字一致 |
| 逻辑类型 | 逻辑类型 + 长度/精度(varchar(40) / decimal(10,2) / tinyint / datetime …),与 03 规范 §五一致 |
| 所属域 | 业务域(订单 / 生产 / 品质 …),与编码注册表的领域码对应 |
| 枚举组 | 若字段取值为枚举,填枚举组名(指向 §三);否则填 - |
| 定义 | 一句话业务含义 + 单位/范围(如「单位:吨」) |
| spec 出处 | 该字段首次定义的 spec 功能编码 / IPO 表 |
| DB 落点 | 表名.字段名;非持久化字段填「不落库」 |
| 接口出现 | 出现该字段的接口编码;无则填 - |
命名冲突处理:同一英文名不得映射到两个不同中文含义;同一中文名不得有两个英文名。冲突时以本表为准,强制修正其余文档。
§三 枚举 / 状态码词条
状态机、下拉选项的取值在此统一登记。spec 状态机说明(06 §7.2c/§7.3.5)、DB 字段备注(03)、接口字段(04)引用枚举时,取值必须与本表一致。
格式(每个枚举组一张表):
| 枚举组 | 值 | 标签(中文) | 英文常量 | 说明 |
|---|---|---|---|---|
ORDER_STATUS | 0 | 草稿 | DRAFT | 新建默认 |
ORDER_STATUS | 1 | 已下达 | RELEASED | 下达至生产 |
ORDER_STATUS | 2 | 执行中 | PROCESSING | - |
ORDER_STATUS | 3 | 已完结 | COMPLETED | 终态 |
ORDER_STATUS | 4 | 已取消 | CANCELLED | 终态 |
规则
- 枚举组名:大写蛇形(UPPER_SNAKE),全局唯一。
- 值:与 DB 字段存储值一致(tinyint 用 0/1/2…;varchar 用英文常量)。
- 同一状态语义在不同模块复用时,复用同一枚举组,不重复定义近义组。
- 状态机的流转关系不在此定义(属 spec §7.3.5),此处只钉死取值集合。
§四 编码注册表(全局唯一)
领域码、模块码、系统简码集中登记,防止 spec(06 §十)、DB(03 §一)、接口(04 §二/§五)三处各自起码导致冲突。
4.1 领域码(2 位小写,DB 表名前缀第 1 段)
| 领域码 | 业务域 | 对应大写模块前缀(spec/接口) |
|---|---|---|
pm | 生产管理 | PM |
qm | 品质管理 | QM |
wm | 仓储管理 | WM |
4.2 子模块代码(spec 4 位大写 / DB 2+2 小写)
| 子模块代码(spec) | DB 前缀 | 子模块 |
|---|---|---|
ORDR | ordr | 生产 · 订单管理 |
PLAN | plan | 生产 · 计划管理 |
BASE | base | 生产 · 目标管理 |
4.3 系统简码(接口源/目标系统,大写)
| 简码 | 系统 |
|---|---|
PM | 生产系统 |
SRC | 源系统代号 |
DST | 目标系统代号 |
MID | 中间服务代号 |
spec 子模块代码(
ORDR)与 DB 前缀(ordr)必须大小写一一对应,由本表保证。
§五 命名规则(引用,不重复定义)
字段命名细则复用既有规范,本词典只做登记与冲突仲裁,不另立规则:
| 维度 | 权威来源 |
|---|---|
| 字段英文名(camelCase)、后缀约定(Flag/Time/Amt/Qty/Wt) | 03-database.md §一.3 |
表命名 [领域码][模块码]_[业务含义] | 03-database.md §一.1 |
接口编码 [源]_[目标]_[类型]_[NN] | 04-api-design.md §二 |
| spec 编码(流程/活动/功能) | 06-spec-doc.md §十 |
词典负责「同一字段全链路一个名」,命名规范负责「这个名怎么起」。两者正交。
§六 与 spec / DB / 接口的联动(反哺校验)
词典是锚点:各产物先查词典取标准名,再让校验与词典比对。
6.1 联动规则
| 规则 | 说明 |
|---|---|
| G1 — 字段取名 | spec/DB/接口新增字段时,先查词典;词典无则先登记词典再使用 |
| G2 — 英文名唯一 | 字段英文名以词典为准,DB 数据字典英文名、接口报文英文名必须 ⊆ 词典 |
| G3 — 中文名唯一 | 字段标准中文名以词典为准,DB「字段中文名」、spec IPO 字段名必须与词典一致 |
| G4 — 枚举统一 | spec 状态机取值、DB 字段备注枚举、接口字段枚举必须 ⊆ 词典枚举组 |
| G5 — 编码不冲突 | spec 子模块代码、DB 前缀、接口系统简码必须取自编码注册表 |
6.2 对既有校验的增强(锚点化)
| 既有校验 | 原比对方式(两两互比) | 锚点化后(与词典比对) |
|---|---|---|
| DB-X X03/X04(03 §八) | DB 中文名 ↔ spec、DB 英文名 ↔ 接口 | DB 字段 ⊆ 词典字段词条 |
| IF-X X03/X04(04 §十) | 接口英文名 ⊆ DB、接口中文名 ↔ spec | 接口字段 ⊆ 词典字段词条 |
| D4 V02/V09/V13/V15(07 §四) | spec↔DB↔IF 三角互比 | 三方各自 ⊆ 词典(锚点) |
优势:N 份文档两两互比是 O(N²),与中央词典比对是 O(N)。新增一份文档只需对词典,不必与既有所有文档互比。
6.3 联动矩阵(设计产物,置于词典分册末尾)
| 字段英文名 | 词典中文名 | spec 出现 | DB 落点 | 接口出现 | 一致性 |
|---|---|---|---|---|---|
orderNo | 订单号 | ✅ ORDR IPO | ✅ ordr_order_main | ✅ SRC_DST_B_01 | ✅ 一致 |
targetQuantity | 目标件重 | ✅ PLAN IPO | ✅ plan_plan_dtl | ✅ SRC_DST_B_01 | ✅ 一致 |
§七 验证清单(18 项)
生成或审查词典时,按组逐项检查。GL-X 组(与三方联动)强制执行。
GL-A 词典完整性(5 项)
- [ ] A01 — 四类词条齐全(业务术语 / 字段 / 枚举 / 编码注册)
- [ ] A02 — 字段词条表使用 9 列标准格式(中文名/英文名/类型/域/枚举组/定义/spec出处/DB落点/接口出现),列无增删
- [ ] A03 — 枚举词条按组列出(组名/值/标签/英文常量/说明)
- [ ] A04 — 编码注册表含领域码 / 子模块代码 / 系统简码三段
- [ ] A05 — 分册末尾有字段联动矩阵
GL-B 唯一性(5 项)⬅ 核心
- [ ] B01 — 字段英文名全局唯一(无一名多义)
- [ ] B02 — 字段标准中文名唯一(无一义多名;同义词在业务术语登记并指向标准名)
- [ ] B03 — 同一英文名对应唯一逻辑类型(无类型冲突)
- [ ] B04 — 枚举组名全局唯一,组内值无重复
- [ ] B05 — 编码注册表内领域码/子模块代码/系统简码各自无重复
GL-C 命名合规(3 项)
- [ ] C01 — 字段英文名为 camelCase,符合
03 §一.3后缀约定 - [ ] C02 — 枚举组名为 UPPER_SNAKE
- [ ] C03 — 子模块代码大写与 DB 前缀小写一一对应(如 ORDR ↔ ordr)
GL-X 与三方联动(5 项)⬅ 闭环核心
- [ ] X01 — DB 字段覆盖:DB 数据字典所有字段英文名 ⊆ 词典字段词条(无词典外字段)
- [ ] X02 — 接口字段覆盖:接口报文所有字段英文名 ⊆ 词典字段词条
- [ ] X03 — spec 字段覆盖:spec IPO 需持久化字段中文名 ⊆ 词典字段词条(按中文名)
- [ ] X04 — 枚举覆盖:spec/DB/接口出现的枚举取值 ⊆ 词典枚举组
- [ ] X05 — 编码覆盖:spec/DB/接口使用的领域码/模块码/系统简码 ⊆ 编码注册表
§八 跨文档一致性规则(集合比对算法)
GL-X 组验证时,构建集合并比对,任一不满足即为失败项:
SET_GLO_FLD_EN = { 词典字段词条英文名 }
SET_GLO_FLD_CN = { 词典字段词条中文名 }
SET_GLO_ENUM = { 词典枚举组×值 }
SET_GLO_CODE = { 编码注册表所有码值 }
SET_DB_FLD_EN = { DB 数据字典字段英文名(见 03)}
SET_IF_FLD_EN = { 接口报文字段英文名(见 04)}
SET_SPEC_FLD_CN= { spec IPO 需持久化字段中文名(见 06)}
X01:SET_DB_FLD_EN ⊆ SET_GLO_FLD_EN
X02:SET_IF_FLD_EN ⊆ SET_GLO_FLD_EN
X03:SET_SPEC_FLD_CN ⊆ SET_GLO_FLD_CN
X04:三方出现的枚举取值 ⊆ SET_GLO_ENUM
X05:三方使用的码值 ⊆ SET_GLO_CODE若 spec / DB / 接口文档不在当前工作区,标注对应 X 项为「跨文件暂挂」,提示合并后整卷复验。 词典是锚点:发现「文档有、词典无」时,优先补词典(说明是新概念),而非删文档字段。
§九 闭环修复协议(生成 → 验证 → 修复 → 复验)
[阶段1] 生成(四类词条:业务术语 → 字段 → 枚举 → 编码注册)
↓
[阶段2] 验证(执行 18 项检查清单)
↓ 有失败项?
[阶段3] 修复(按下表优先级)
↓
[阶段4] 复验(全部 18 项通过)→ ✅ DONE修复优先级
| 优先级 | 组 | 理由 |
|---|---|---|
| 1 | GL-B 唯一性 | 一名多义/一义多名会击穿整个锚点机制 |
| 2 | GL-X 三方联动 | 词典与文档脱节,锚点失效 |
| 3 | GL-C 命名合规 | 影响与 03/04 规范的一致性 |
| 4 | GL-A 完整性 | 影响交付质量 |
暂挂项规则
缺少调研数据无法确认标准名时,写 【待定名:{候选}】,标注「Pending」,不算失败项。跨文件比对缺对端文档时,标注「跨文件暂挂」。
验证报告格式(每次验证后必须输出)
术语字段词典验证报告 — [项目/分册名]
验证时间:[时间]
字段词条数:N | 枚举组数:M | 编码数:K
总项数:18 | 通过:N | 失败:M | 暂挂:K
[✅ 全部通过 / ❌ 存在失败项 / ⚠️ 含暂挂项]
失败项:
[B01] 英文名 orderNo 同时映射「订单号」与「工单号」(一名多义)
[X01] DB 字段 packWt 不在词典中(词典外字段)
修复动作:
[B01] 工单号改用 workOrderNo,词典补登记
[X01] packWt 系新概念,已补登记词典字段词条
复验:18/18 通过 → ✅ DONE§十 与其他规范的关系
08 词典(锚点)
├─► 06 spec :IPO 字段名取自词典字段词条;状态机取值取自词典枚举
├─► 03 DB :数据字典英文名/中文名取自词典;表前缀取自编码注册
├─► 04 接口 :报文字段英文名取自词典;系统简码取自编码注册
└─► 07 评审 :D4 联动由「三方互比」升级为「三方各自与词典比对」- 本规范不替代 03/04/06 各自的字段命名规则,而是为它们提供统一取名的中央来源。
- 建议设计顺序:先建词典骨架(编码注册 + 已知核心字段)→ 再生成 spec/DB/接口(边生成边登记新字段)→ 评审时校验三方 ⊆ 词典。
