名称: 死码消除器 描述: 识别并安全地从代码库中移除死代码、未使用代码和不可达代码 允许工具: [“Bash”, “Read”, “Write”, “Grep”, “Glob”, “Edit”]
死码消除器技能
识别并安全地从代码库中移除死代码、未使用的函数、不可达的代码路径和孤立文件,以降低复杂性和维护负担。
目的
实现安全的死代码移除,用于:
- 简化代码库
- 迁移准备
- 减少技术债务
- 优化构建大小
- 降低维护成本
能力
1. 未使用函数检测
- 查找未调用的函数
- 识别未使用的导出
- 检测未引用的方法
- 映射调用图
2. 不可达代码识别
- 分析控制流
- 查找返回语句后的代码
- 检测不可能的条件
- 识别死分支
3. 未使用变量检测
- 查找未读取的变量
- 识别只写变量
- 检测未使用的参数
- 标记被遮蔽的变量
4. 孤立文件检测
- 查找未导入的模块
- 识别孤立的资源文件
- 检测未使用的配置文件
- 映射文件依赖关系
5. 安全移除验证
- 验证无运行时引用
- 检查动态导入
- 验证反射使用情况
- 移除后测试
6. 影响分析
- 估计移除范围
- 计算大小减少量
- 评估风险等级
- 记录依赖关系
工具集成
| 工具 | 语言 | 集成方法 |
|---|---|---|
| ts-prune | TypeScript | 命令行 |
| unimported | JavaScript | 命令行 |
| deadcode | Python | 命令行 |
| UCDetector | Java | Eclipse插件 |
| unused | Rust | 命令行 |
| deadcode | Go | 命令行 |
| webpack-bundle-analyzer | JavaScript | 命令行 |
输出模式
{
"analysisId": "string",
"timestamp": "ISO8601",
"deadCode": {
"functions": [
{
"file": "string",
"name": "string",
"line": "number",
"confidence": "high|medium|low",
"reason": "string"
}
],
"variables": [],
"files": [],
"unreachable": []
},
"impact": {
"filesAffected": "number",
"linesRemovable": "number",
"estimatedSizeReduction": "string"
},
"risks": [],
"recommendations": []
}
与迁移流程集成
- 代码重构: 重构前清理
- 遗留系统退役: 功能移除
- 单体到微服务: 服务提取准备
相关技能
静态代码分析器: 组合分析代码异味检测器: 相关异味检测
相关智能体
遗留系统退役专家: 用于清理代码转换执行器: 执行移除