ubiquitous-language

工程开发 社区 @mattpocock
信任分
88/100
兼容 Agent
1
速查档案 只列事实:领域、Agent、信任分、作者、原文章节。装与不装请看下方作者解读。
领域
工程开发
兼容 Agent
Claude Code
信任分
88 / 100 · 社区维护
作者 / 版本 / 许可
@mattpocock · 未声明 license
安装命令数
1 条

需要注意: 未限定 allowed-tools,默认拥有全部工具权限。

想读作者英文原文? ↓ 滚到正文区切换 · 在 GitHub 查看 ↗

解读由编辑根据原文凝练而成,命令、链接、术语均与作者原文一致;想看完整论述请切到右侧

ubiquitous-language 把当前对话里出现的领域名词、动词、概念抽出来,整理成一份统一术语表写到 UBIQUITOUS_LANGUAGE.md。它解决一个具体痛点:同名异义异名同义——同一词被当成两个概念用、同一概念却有 N 种说法。

设计思路

作者借的是 DDD 里 ubiquitous language 的概念:人、代码、文档要用同一组词,否则 review、PRD、triage 全在浪费精力翻译。技能不替你创造领域,而是把已经在对话里浮现的术语钉死:选一个 canonical、列被禁的同义词、给清晰定义、再把关系画出来。

工作流

Scan:扫对话里所有领域相关的名词 / 动词 / 概念;② 识别问题:同词不同义(ambiguity)/ 不同词同义(synonyms)/ 模糊或负载过重的术语;③ 提议 canonical 词典——有主见地选一个;④ 写到 UBIQUITOUS_LANGUAGE.md;⑤ 在对话里给一段摘要。

输出格式

按主题分组(Order lifecycle / People / Relationships…),每组一张三列表:Term(粗体)/ Definition / Aliases to avoid。再补 ## Relationships("An Invoice belongs to exactly one Customer")和 ## Example dialogue(用 canonical 术语写一段对话演示)+ ## Flagged ambiguities(点名歧义来源——"account" 既被当成 Customer 又当成 User)。

例子

作者给的样本:

  • Order(A customer's request to purchase one or more items)—— Aliases to avoid: Purchase, transaction
  • Invoice(A request for payment sent to a customer after delivery)—— Aliases to avoid: Bill, payment request
  • Customer vs User:前者下单、后者只是认证身份

规则

Be opinionated —— 不要把所有同义词都列成可用,挑一个、其他列入 "avoid";定义写"系统视角下的可观察 behavior",不写"前端怎么 render"。

适合谁

  • 跨 PRD / refactor RFC / triage 复用术语的项目
  • 多 agent 协作,需要把同一组词钉死
  • 团队新人 onboarding 的术语速查

何时不要用

  • 项目仅有少量术语 / 一周内的小项目:维护成本高于收益
  • 已有公司级数据字典:直接 import 那个

配套

grill-with-docs(基于本词典做 PRD review 与领域语言锚定)、to-prd(PRD 里强制使用本词典词汇)、to-issues(issue 标题与描述用本词典)、triage(triage 时用统一词汇评估 issue)。