跳转到内容

REF-004 区域依赖

验证跨越区域(zonesDir 下的子目录)的 Markdown 链接已在源区域的 overview.md 依赖章节中显式声明。未声明的跨区域引用会报告为 error

将文档按 auth/payment/notification/ 等区域(以职责为单位的目录)管理时,区域之间的依赖关系会以隐式链接的形式不断增加。即使设计意图是「auth 不依赖 payment」,链接可以自由编写,依赖也会在不知不觉间扩散。本规则强制「区域间依赖必须在 overview.md 的依赖章节中显式声明」,使设计意图与文档结构保持一致。

字段类型必填说明
zonesDirstring区域所在目录的路径
dependencySectionstring声明依赖的章节标题(默认值:Dependencies)

zonesDir 直接子目录下的每个子目录都被视为一个区域。每个区域都应有 overview.md,其中包含 dependencySection 指定的标题,且该标题下的表格中列出依赖目标的区域名。

docs/zones/auth/overview.md:
# Auth zone
## Dependencies
| Zone |
| ---- |
docs/zones/auth/login.md:
详见 [计费逻辑](../payment/charge.md)

auth/login.md 含有指向 payment 区域的链接,但 auth/overview.mdDependencies 章节未声明 payment,因此判定为违例。

docs/zones/auth/login.md
line 1 error Cross-zone reference to "payment" zone, but "payment" is not listed in the "Dependencies" section of auth/overview.md REF-004

overview.md 中显式添加依赖。

docs/zones/auth/overview.md:
# Auth zone
## Dependencies
| Zone |
| ------- |
| payment |

如果是不必要的依赖,则移除链接,或重新审视依赖源区域。

{
"rule": "ref004",
"options": {
"zonesDir": "docs/zones",
"dependencySection": "Dependencies"
}
}