我用 AI 重构了支付模块,提前 5 天交付,还差点被组长换掉

174 阅读4分钟

🧨 一次『差点被换人』的重构任务

3 月初,组长突然把我拉进会议室:

“老支付模块太老了,业务要共用,2 周内搞成 SDK。别拖。”

我脑子嗡了一下:这个模块我之前接触过,结构巨乱:

  • 主类 PayProcessor.java 超过 3000 行
  • 充满硬编码的 if-else
  • 无测试、无注释、无文档
  • 加一个支付渠道得动 7 个地方

我一度怀疑是不是在「找背锅侠」。直到后面组长私聊说:

“如果你搞不定,我只能换人了。”

我当时压力山大,但同时脑中闪过一个想法:

也许,这一次该用 AI 打一场硬仗。


🎯 目标拆解

PM 的 KPI:

"2 周搞定 + 交付稳定 + 易扩展 + 可测试"

我进一步拆解为:

目标评估标准
SDK 化业务线可独立接入
插件化架构支持动态注册支付通道
稳定性>= 85% 单元测试覆盖
提效1 人干完 5 人量(没资源)

💡 技术方案:用 AI 带路,我负责判断

传统搞法太慢,于是我大胆制定如下路线图:

📍Phase 1:  Cursor 总结旧逻辑结构
📍Phase 2:  GPT 设计插件架构草图
📍Phase 3:  AI + 手动协作重写主流程
📍Phase 4: 补测 + 压测 + 替换上线

下面详细拆解。


🧱 Phase 1:用 Cursor 快速理解旧模块结构

我对着 3000 行 PayProcessor.java,一行一行读根本读不动。

用 Cursor 直接输入:

"Summarize the architecture of PayProcessor.java"

输出让我惊了:

模块职责:
- 初始化支付配置
- 根据条件路由支付方式
- 分发回调
- 记录支付日志

甚至帮我标出 switch-case 嵌套 5 层的代码片段位置。

理解成本直接减少 80%。


🏗️ Phase 2:架构设计靠 GPT 给草图,我来 refine

我给 GPT 发了个 prompt:

请设计一个插件化的支付架构:
- 不同支付方式支持独立注册
- SDK 暴露统一调度器
- 每个支付方式封装成策略类
- 要可插拔、易测试

它回复了典型策略模式 + 注册表方案:

interface PaymentPlugin {
    fun supports(type: String): Boolean
    fun pay(req: PaymentRequest): Result
}

object PluginRegistry {
    private val plugins = mutableListOf<PaymentPlugin>()
    fun register(p: PaymentPlugin) { plugins += p }
    fun resolve(type: String): PaymentPlugin = ...
}

我补上:

  • 生命周期管理
  • 回调中间件注入点
  • 可测试性注解(使用 Hilt 注入)

再用 Cursor 在项目中自动生成插件类模版。


🔨 Phase 3:AI 协作式重构核心逻辑

这个阶段最耗时。以下是我用的 Prompt 迭代:

🎯 Prompt v1(失败)

请帮我把下面的 if-else 重构成策略类。

输出了基本结构,但命名、抽象都太通用。


✅ Prompt v3(最终版)

你是 Android 架构专家。请将以下支付判断逻辑:
- 重构为策略模式
- 每种支付方式是独立 Handler 类
- 要含日志记录点
- 保证接口不变、变量命名一致
- 生成的类应符合 Kotlin 命名风格

生成代码如下:

class WeChatHandler: PaymentHandler { override fun handle(...) }
class AliPayHandler: PaymentHandler { override fun handle(...) }

使用 Cursor,我只需要选中旧代码、输入提示,几乎一键替换。

最终重构了 11 个逻辑分支,拆出 14 个策略类,全部插入注册表。


🔍 Phase 4:补测 + 性能压测 + 结果对比

我重写了测试框架,用 JUnit5 + MockK 模拟所有支付回调路径。

构建覆盖率工具:jacoco.gradle + coverage 报表分析脚本。

性能对比结果如下:

指标重构前重构后
平均响应耗时118ms104ms
测试覆盖率43.5%91.2%
新增支付方式改动文件数71

(见文末图示 👇)

上线当天无 bug,上线后一周无异常日志。组长拍着我肩膀说:

“你现在是组里的 GPT 指导员了。”


🧠 成果总结 & 可复刻清单

本次我产出如下成果:

  • ✅ 插件化支付 SDK 架构(可复用)
  • ✅ Prompt 模板 3 套(重构、注释生成、测试生成)
  • ✅ 单元测试覆盖率 90%+
  • ✅ 高能复刻清单(见下)

🚀 复刻指南(建议收藏)

步骤工具要点
1. 用 Cursor 提取代码结构Cursor总结模块边界、职责分布
2. 构建初版架构草图ChatGPT结合策略模式、注册表
3. 多轮 refine 重构逻辑GPT + 人工命名规范、兼容性判断
4. 自动化测试覆盖JUnit + Jacoco报表、Mock、路径覆盖

❤️ 如果你也在做 Android 模块重构

别怕代码多、逻辑烂,只要方法对、工具用得好,AI 真的能救你一命。

别让 AI 写你不理解的代码,而要让它成为你思想的放大器

欢迎留言交流,点赞 + 收藏 + 三连支持!我们评论区见 💬