4.1 KiB
4.1 KiB
Nexa 八字命名契约
本文件是 Nexa 八字系统的程序员命名契约。目标不是翻译给用户看,而是让 API、JSON、prompt 变量、模块 key、测试数据和文档中的八字命理词汇保持一致。
适用范围
- Provider / BFF / frontend API 字段。
- JSON schema、测试 fixture、调试数据。
- Prompt 变量、Context Vault、fallback schema。
- 模块 key、SSE path、registry key。
- 代码中的函数、变量、类名和枚举名。
分层原则
| 层级 | 命名风格 | 示例 | 说明 |
|---|---|---|---|
| API / JSON 字段 | snake_case |
day_master, ten_god_label |
对外和跨语言最稳定 |
| 模块 key / registry key | snake_case |
daily_overview, monthly_luck_tag |
已发布 key 需要迁移策略 |
| Python 字段/变量 | snake_case |
day_master_stem |
跟 Python 社区一致 |
| JS/TS 局部变量 | camelCase |
dayMasterStem |
仅限局部代码,不用于 JSON contract |
| Type / Class / Enum | PascalCase |
HeavenlyStem, EarthlyBranch, TenGod |
类型名 |
| UI 中文 | 简体中文 | 日主, 十神, 流日 |
面向用户 |
| 英文显示名 | 标准术语 | Day Master, Ten Gods, Annual Luck |
面向英文 UI/文档 |
Nexa 推荐字段
| 中文概念 | 推荐 API/JSON 字段 | Type/Enum | 说明 |
|---|---|---|---|
| 八字命盘 | bazi_chart |
BaziChart |
完整排盘结构 |
| 四柱 | pillars |
Pillars |
包含 year/month/day/hour |
| 年柱 | year_pillar |
Pillar |
不要写 year_column |
| 月柱 | month_pillar |
Pillar |
不要写 month_column |
| 日柱 | day_pillar |
Pillar |
不要写 day_column |
| 时柱 | hour_pillar |
Pillar |
不要写 time_column |
| 日主 | day_master |
DayMaster |
可表示完整日主,如 辛金 |
| 日主天干 | day_master_stem |
HeavenlyStem |
只表示天干,如 辛 |
| 天干 | heavenly_stem |
HeavenlyStem |
JSON 字段用 snake_case |
| 地支 | earthly_branch |
EarthlyBranch |
JSON 字段用 snake_case |
| 藏干 | hidden_stems |
HiddenStem |
list 字段用复数 |
| 十神 | ten_god |
TenGod |
单个十神 |
| 十神 ID | ten_god_label |
TenGodLabel |
若已上线为数字 ID,可保留但要写清映射 |
| 主导十神 | dominant_ten_god |
TenGod |
不要写 dominant_deity |
| 五行 | element / five_elements |
FiveElement |
单个用 element,集合用 five_elements |
| 五行强度 | element_strengths |
ElementStrengths |
map: wood/fire/earth/metal/water |
| 喜用元素 | favorite_element |
FiveElement |
Nexa 内部可用 favorite;若对齐通用词表可映射为 favorable |
| 第一喜用元素 | primary_favorite_element |
FiveElement |
不要写 Primary_Favorite_Element |
| 第二喜用元素 | secondary_favorite_element |
FiveElement |
不要写 Secondary_Favorite_Element |
| 用神 | useful_god |
UsefulGod |
高阶概念,不等同喜用元素 |
| 大运 | luck_pillar |
LuckPillar |
十年运柱 |
| 流年 | annual_luck |
AnnualLuck |
避免和本命年柱混淆 |
| 流月 | monthly_luck |
MonthlyLuck |
月运 |
| 流日 | daily_luck |
DailyLuck |
日运 |
| 流日干支 | flow_day_ganzhi |
StemBranch |
若已上线可保留;新字段建议 daily_stem_branch |
| 合冲刑害破 | branch_relationship |
BranchRelationship |
不要混用 astrology/astral 命名 |
| 合盘 | bazi_synastry |
BaziSynastry |
与占星 synastry 区分时加 bazi_ 前缀 |
已发布字段处理
已发布 API 或前端依赖字段不能无迁移直接改名。处理顺序:
- 标记为
compat:旧字段继续读取。 - 新增推荐字段:例如同时返回
day_master_stem。 - 在文档中声明旧字段 deprecated。
- 前端/BFF 迁移完成后,再删除旧字段。
审查时不要只说“改名”。要说明影响面:API、fixture、prompt、前端 path、SSE key、数据库列、测试断言。
不做向量判断
本契约用于程序员纠错,必须可重复、可解释、可进入 CI。不要用向量相似度决定字段是否违规。向量搜索最多用于发现候选混名,最终仍必须落回本契约或 nexa-forbidden-names.md。