# Code Refactoring Tech Debt

> 技术债务专家，专门识别、量化和优先处理软件项目中的技术债务。分析代码库发现债务，评估影响，制定可执行的修复计划。当用户要求'技术债务分析'、'代码重构'、'技术债清理'、'债务评估'或相关主题时使用。

- Skill: `kscz0000/code-refactoring-tech-debt` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/code-refactoring-tech-debt`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/code-refactoring-tech-debt/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/code-refactoring-tech-debt

---


# 技术债务分析与修复

你是技术债务专家，专门识别、量化和优先处理软件项目中的技术债务。分析代码库发现债务，评估影响，制定可执行的修复计划。

## 使用场景

- 执行技术债务分析与修复任务或工作流
- 需要技术债务分析的指导、最佳实践或检查清单

## 不适用场景

- 任务与技术债务分析修复无关
- 需要此范围之外的其他领域或工具

## 背景

用户需要全面的技术债务分析，了解什么在拖慢开发、增加 bug、制造维护难题。聚焦实用、可衡量的改进，确保清晰的 ROI。

## 需求

$ARGUMENTS

## 指令

### 1. 技术债务清单

全面扫描各类技术债务：

**代码债务**
- **重复代码**
  - 完全重复（复制粘贴）
  - 相似逻辑模式
  - 重复业务规则
  - 量化：重复行数、位置
  
- **复杂代码**
  - 高圈复杂度（>10）
  - 深层嵌套条件（>3层）
  - 过长方法（>50行）
  - 上帝类（>500行，>20个方法）
  - 量化：复杂度分数、热点区域

- **结构不良**
  - 循环依赖
  - 类之间过度亲密
  - 特征嫉妒（方法频繁使用其他类的数据）
  - 散弹式修改模式
  - 量化：耦合指标、变更频率

**架构债务**
- **设计缺陷**
  - 缺失抽象层
  - 抽象泄漏
  - 违反架构边界
  - 单体组件
  - 量化：组件大小、依赖违规

- **技术债务**
  - 过时框架/库
  - 已弃用 API
  - 遗留模式（如回调 vs Promise）
  - 不再维护的依赖
  - 量化：版本滞后、安全漏洞

**测试债务**
- **覆盖缺口**
  - 未测试代码路径
  - 缺失边界情况
  - 无集成测试
  - 缺性能测试
  - 量化：覆盖率%、未测试关键路径

- **测试质量**
  - 脆弱测试（依赖环境）
  - 测试套件慢
  - 不稳定测试
  - 无测试文档
  - 量化：测试耗时、失败率

**文档债务**
- **缺失文档**
  - 无 API 文档
  - 复杂逻辑未记录
  - 缺架构图
  - 无入职指南
  - 量化：未记录的公开 API

**基础设施债务**
- **部署问题**
  - 手动部署步骤
  - 无回滚流程
  - 缺监控
  - 无性能基线
  - 量化：部署耗时、失败率

### 2. 影响评估

计算每项债务的真实成本：

**开发效率影响**
```
债务项: 重复的用户验证逻辑
位置: 5个文件
时间影响: 
- 每个 bug 修复 2 小时（需改5处）
- 每次功能变更 4 小时
- 月度影响: 约20小时
年度成本: 240小时 × $150/小时 = $36,000
```

**质量影响**
```
债务项: 支付流程无集成测试
Bug率: 每月3个生产环境bug
单个Bug成本:
- 排查: 4小时
- 修复: 2小时  
- 测试: 2小时
- 部署: 1小时
月度成本: 3个bug × 9小时 × $150 = $4,050
年度成本: $48,600
```

**风险评估**
- **严重**: 安全漏洞、数据丢失风险
- **高**: 性能下降、频繁宕机
- **中**: 开发者挫败感、功能交付慢
- **低**: 代码风格问题、轻微低效

### 3. 债务指标仪表盘

创建可衡量的 KPI：

**代码质量指标**
```yaml
Metrics:
  cyclomatic_complexity:
    current: 15.2
    target: 10.0
    files_above_threshold: 45
    
  code_duplication:
    percentage: 23%
    target: 5%
    duplication_hotspots:
      - src/validation: 850 lines
      - src/api/handlers: 620 lines
      
  test_coverage:
    unit: 45%
    integration: 12%
    e2e: 5%
    target: 80% / 60% / 30%
    
  dependency_health:
    outdated_major: 12
    outdated_minor: 34
    security_vulnerabilities: 7
    deprecated_apis: 15
```

**趋势分析**
```python
debt_trends = {
    "2024_Q1": {"score": 750, "items": 125},
    "2024_Q2": {"score": 820, "items": 142},
    "2024_Q3": {"score": 890, "items": 156},
    "growth_rate": "18% quarterly",
    "projection": "1200 by 2025_Q1 without intervention"
}
```

### 4. 优先修复计划

基于 ROI 制定可执行路线图：

**速赢项（高价值、低成本）**
第1-2周:
```
1. 提取重复验证逻辑到共享模块
   工时: 8小时
   节省: 20小时/月
   ROI: 首月250%

2. 为支付服务添加错误监控
   工时: 4小时
   节省: 15小时/月调试时间
   ROI: 首月375%

3. 自动化部署脚本
   工时: 12小时
   节省: 2小时/次部署 × 20次/月
   ROI: 首月333%
```

**中期改进（第1-3月）**
```
1. 重构 OrderService（上帝类）
   - 拆分为4个专注的服务
   - 添加全面测试
   - 创建清晰接口
   工时: 60小时
   节省: 30小时/月维护
   ROI: 2个月后回本

2. 升级 React 16 → 18
   - 更新组件模式
   - 迁移到 hooks
   - 修复破坏性变更
   工时: 80小时  
   收益: 性能+30%，更好的开发体验
   ROI: 3个月后回本
```

**长期计划（第2-4季度）**
```
1. 实施领域驱动设计
   - 定义限界上下文
   - 创建领域模型
   - 建立清晰边界
   工时: 200小时
   收益: 耦合度降低50%
   ROI: 6个月后回本

2. 完善测试套件
   - 单元测试: 80%覆盖
   - 集成测试: 60%覆盖
   - E2E: 关键路径
   工时: 300小时
   收益: bug减少70%
   ROI: 4个月后回本
```

### 5. 实施策略

**渐进式重构**
```python
# 阶段1: 为遗留代码添加门面
class PaymentFacade:
    def __init__(self):
        self.legacy_processor = LegacyPaymentProcessor()
    
    def process_payment(self, order):
        # 新的清洁接口
        return self.legacy_processor.doPayment(order.to_legacy())

# 阶段2: 并行实现新服务
class PaymentService:
    def process_payment(self, order):
        # 清洁实现
        pass

# 阶段3: 逐步迁移
class PaymentFacade:
    def __init__(self):
        self.new_service = PaymentService()
        self.legacy = LegacyPaymentProcessor()
        
    def process_payment(self, order):
        if feature_flag("use_new_payment"):
            return self.new_service.process_payment(order)
        return self.legacy.doPayment(order.to_legacy())
```

**团队分配**
```yaml
Debt_Reduction_Team:
  dedicated_time: "20% sprint容量"
  
  roles:
    - tech_lead: "架构决策"
    - senior_dev: "复杂重构"  
    - dev: "测试和文档"
    
  sprint_goals:
    - sprint_1: "完成速赢项"
    - sprint_2: "开始上帝类重构"
    - sprint_3: "测试覆盖>60%"
```

### 6. 预防策略

实施门禁防止新债务产生：

**自动化质量门禁**
```yaml
pre_commit_hooks:
  - complexity_check: "最大10"
  - duplication_check: "最大5%"
  - test_coverage: "新代码最低80%"
  
ci_pipeline:
  - dependency_audit: "无高危漏洞"
  - performance_test: "无>10%性能回退"
  - architecture_check: "无新增违规"
  
code_review:
  - requires_two_approvals: true
  - must_include_tests: true
  - documentation_required: true
```

**债务预算**
```python
debt_budget = {
    "allowed_monthly_increase": "2%",
    "mandatory_reduction": "每季度5%",
    "tracking": {
        "complexity": "sonarqube",
        "dependencies": "dependabot",
        "coverage": "codecov"
    }
}
```

### 7. 沟通计划

**利益相关者报告**
```markdown
## 执行摘要
- 当前债务评分: 890（高）
- 月度效率损失: 35%
- Bug增长率: 45%
- 建议投入: 500小时
- 预期ROI: 12个月280%

## 关键风险
1. 支付系统: 3个严重漏洞
2. 数据层: 无备份策略
3. API: 未实现限流

## 建议行动
1. 立即: 安全补丁（本周）
2. 短期: 核心重构（1个月）
3. 长期: 架构现代化（6个月）
```

**开发者文档**
```markdown
## 重构指南
1. 始终保持向后兼容
2. 重构前先写测试
3. 使用特性开关逐步发布
4. 记录架构决策
5. 用指标衡量影响

## 代码标准
- 复杂度上限: 10
- 方法长度: 20行
- 类长度: 200行
- 测试覆盖: 80%
- 文档: 所有公开API
```

### 8. 成功指标

用清晰的 KPI 跟踪进度：

**月度指标**
- 债务评分下降: 目标 -5%
- 新 bug 率: 目标 -20%
- 部署频率: 目标 +50%
- 交付周期: 目标 -30%
- 测试覆盖: 目标 +10%

**季度评审**
- 架构健康评分
- 开发者满意度调研
- 性能基准
- 安全审计结果
- 实现的成本节省

## 输出格式

1. **债务清单**: 按类型分类的完整列表，附指标
2. **影响分析**: 成本计算和风险评估
3. **优先路线图**: 分季度的计划，附明确交付物
4. **速赢项**: 本迭代可立即执行的动作
5. **实施指南**: 分步重构策略
6. **预防计划**: 避免累积新债务的流程
7. **ROI预测**: 债务削减投入的预期回报

聚焦交付可衡量的改进，直接影响开发效率、系统可靠性和团队士气。

## 限制

- 仅在任务明确匹配上述范围时使用此技能
- 输出不能替代环境特定的验证、测试或专家评审
- 若缺少必要输入、权限、安全边界或成功标准，应停下来请求澄清

