---
name: 耦合检测规则
type: review_rule
asset_kind: pipeline_rule
routes:
  - code_change
  - analysis
primary_triggers:
  - 耦合
  - 耦合检测
  - 依赖
scope: [existing-system]
---

# 老代码耦合检测规则

## 检测时机
- 编码阶段尝试写单元测试时
- 编码阶段尝试修改老代码时

## 触发回退到架构设计的条件

### 无法单独测试
- 老代码使用静态方法/单例导致无法 mock
- 老代码直接 new 依赖对象，未使用依赖注入
- 老代码与框架深度绑定（如直接依赖 Request/Response 对象）

### 无法单独修改
- 修改一个函数需要同步修改 5 个以上关联文件
- 老代码存在循环依赖无法单独抽取
- 老代码的数据结构被多处硬编码引用

### 检测规则
- 尝试写单测 3 次仍无法 mock 隔离 → 触发回退
- 修改影响范围超过预期的 3 倍 → 触发回退
