为什么要重构
学情追踪系统最初是在某个低代码平台上搭建的。功能能跑,但问题很多:
- 平台 SDK 深度耦合,离开平台就瘫痪
- API 路由缺乏认证,安全性堪忧
- 巨型单文件——一个页面组件 470 行,一个 API 路由 460 行
- 数据库缺少外键级联、索引混乱
能跑 ≠ 能维护,能维护 ≠ 能扩展。 当系统需要独立部署时,重构就不可避免了。
AI 重构三板斧
第一板斧:安全扫描
把代码交给 AI,给它明确的指令:”检查所有 API 路由,列出缺少认证检查的接口,给出修改方案。”
AI 很快定位到:31 个 API 路由中,有 28 个完全没有认证校验。它帮我创建了统一的认证代理层(proxy.ts),把所有认证逻辑集中管理,而不是每个路由各写一套。
第二板斧:依赖解耦
原始代码中 coze-coding-dev-sdk 在至少 5 个文件中被直接引用。我让 AI 分析所有引用点,然后逐个替换为独立的模块:
- 对象存储:S3Storage → 基于 AWS SDK 的腾讯云 COS 模块
- LLM 调用:Coze LLMClient → 自建的 OpenAI 兼容客户端
- 环境变量:Python execSync → 标准 dotenv 方案
每个模块替换后立即测试,确保功能不受影响。
第三板斧:结构优化
470 行的仪表盘组件 → 拆分为 4 个独立子组件。460 行的考试分析 API → 提取出通用的 LLM 调用辅助函数。
AI 做这种机械性的拆分非常高效——它会自动处理 props 传递、导入路径更新这些容易出错的细节。
最重要的教训
给 AI 明确的约束条件。 不要说”优化这段代码”,而要说”把这个 470 行的组件按功能拆分成 4 个独立组件,每个不超过 150 行,保持所有现有功能不变。”
越具体,AI 的输出越靠谱。
重构后的效果
- 代码行数减少约 30%
- 构建时间从 45 秒降到 16 秒
- 新增功能模块的开发效率提升约 3 倍
- 系统从依赖特定平台到可独立部署在任何 Linux 服务器上