用途:清理技术债,扫描指定目录中过大的源文件(HTML、Python、JS 等),将其逻辑拆分为更小的模块化文件,同时保持原有外部 API 与逻辑不变。
主要能力:
- 分析:用 list_dir 查看文件大小,识别超过阈值(默认 2000 行)的文件;评估其是否确需如此之大(如生成资源)还是技术债。综合技术债扫描涵盖代码债(重复代码、圈复杂度>10、嵌套>3 层、方法>50 行)、架构债(缺失抽象、循环依赖、特性依恋)、测试债(关键路径未测试、脆弱测试),并量化影响。
- 重构计划:在改动前提出策略,包括目标文件夹(如 app.js -> app/)、可提取的独立逻辑块、模块间导入导出映射以避免循环依赖。
- 执行:用 view_file_outline 理解结构,用 write_to_file 创建新模块;创建入口文件(或保留原文件名作为外壳)聚合新模块,保持原外部 API。约束:不改变逻辑,只重构不重写。
- 验证:确保所有导入可解析,运行现有测试或走查关键路径,验证拆分未引入显著加载开销(如无打包时 Web 环境过多网络请求)。
输入:Scope(扫描目录)、Threshold(行数上限,默认 2000)。
适用场景:需要降低大型单体文件维护成本、提升可读性与开发速度的项目。
限制:资料未提供具体支持的语言清单、性能基准、收费或平台信息;执行前需人工确认文件是否确需拆分。