依赖关系分析Skill

Skill

Sky-Cube d900d84 2.1 KB Updated

File contents

依赖关系分析Skill

适用场景

架构评审环节,梳理组件/模块/服务之间的依赖链路,量化耦合程度,识别循环依赖与故障爆炸半径,为解耦决策提供证据。

执行步骤

  1. 提取依赖边:从模块目录结构、import 语句、接口调用关系、消息队列流转、数据库共享、配置文件引用中梳理依赖关系。
  2. 绘制依赖图(表格或文字邻接表),标注方向与强度(调用频次、是否强依赖)。
  3. 识别三类问题:循环依赖、耦合过强、故障传播面过大(见下表)。
  4. 输出问题清单 + 解耦建议,并按严重度排序。

分析要点

问题类型 识别口径
循环依赖 模块/类/包层面形成环(A→B→C→A);可用 jdeps、dependency-cruiser、madge 等工具检测;运行时初始化顺序错乱、编译拆分困难是常见症状
耦合过强 模块扇出(依赖数)过高;修改一个类需同步修改多处调用方;共享全局状态/共享表;接口参数对象过粗导致调用方依赖内部结构
故障传播面 强依赖链路层级过深且无超时/熔断/降级;核心服务被大范围依赖(热点依赖);单点故障可瘫痪整条链路

规范要点

  • 每条依赖边必须落到具体位置:A 文件第 X 行 import/调用 B,禁止只写「A 依赖 B」。
  • 循环依赖必须给出完整环路路径(A→B→C→A)及证据位置。
  • 每条问题必须附影响量化:变更成本(改 A 需动几个调用方)、故障爆炸半径(该节点故障影响多少下游)、可测试性损失。
  • 解耦建议要具体:引入接口隔离、依赖倒置、事件解耦、拆库等,并说明适用条件。

输出模板

## 依赖关系分析报告
### 依赖总览(模块 → 依赖模块列表,附证据位置)
### 问题清单
| # | 问题类型 | 依赖/环路路径(证据位置) | 影响量化 | 严重度 | 解耦建议 |
### 依赖图(文字邻接表)

自检清单

  • 依赖边均有文件/配置证据位置
  • 循环依赖给出完整环路径
  • 每条问题附影响量化与解耦建议
  • 覆盖模块间与模块内(类/包)两个层级

Sky-Cube/fullflow-dev-agent/tree/main/.claude/skills/dependency-analysis commit d900d84e19

Frequently asked questions

npx skillmds@latest add sky-cube/skill-42