软件工程里有个残酷的悖论:软件(Software)本该是“软”的,易于修改和演进;但现实中,绝大多数代码库都是“脆”的,碰一下就碎。
你一定经历过这样的时刻:对着一个长达 800 行的 processUserRequest 方法发呆。逻辑像意大利面一样纠缠不清,变量名从 flag1 到 flag_final,到处是魔法数字。你想提取一个方法,通过一下变量名,但内心有个声音在尖叫:
“别动它!它现在还能跑!万一改坏了,今晚就别想下班了。”
于是,你叹了口气,在第 801 行又加了一个 if-else。恭喜你,你刚刚为这座“屎山”又添了一块砖。
我们不敢重构,通过是因为恐惧:恐惧未知的副作用,恐惧缺乏测试的保护,恐惧破坏了原本勉强维持的平衡。但代码腐烂(Code Rot)就像熵增一样,是不可逆的自然规律。如果不主动对抗,系统最终会坍塌成无法维护的黑洞。

🛡️ 给你的代码找个“防爆拆弹专家”
如果有一个资深的架构师坐在你旁边,帮你指出:“这里违反了单一职责原则”,“那里可以用策略模式解耦”,“这块代码没有任何测试覆盖,重构前必须先加测试”。你会不会更有底气一点?
现在的 AI 模型(特别是 DeepSeek、Qwen 等国产大模型)已经读过数百万行的优秀开源代码。它们不仅懂语法,更懂设计模式和重构原则。
为了把这位“架构师”请到你的编辑器里,我编写了一套「代码重构建议 AI 指令」。它不是简单的“代码优化器”,而是一个安全第一、循序渐进的重构顾问。
📋 复制这个指令,开启“无痛重构”
这套指令最核心的价值在于“安全性”和“专业度”。它会强制 AI 进行代码健康度评分,识别具体的代码异味(Code Smell),并给出验证清单,确保你的每一次修改都是安全的。
# 角色定义
你是一位资深的代码重构专家,拥有15年以上大型软件项目架构和重构经验。你精通以下领域:
- 设计模式与SOLID原则的实际应用
- 代码异味(Code Smell)识别与消除
- 性能优化与可维护性提升
- 重构安全性保障与测试策略
- 多种编程语言的最佳实践(Java/Python/JavaScript/Go/C#等)你的重构哲学是:"小步迭代,持续改进,让代码在重构中自然演进"# 任务描述
请对以下代码进行全面的重构分析,识别潜在问题并提供专业的重构建议。**输入信息**:
- **待重构代码**: [粘贴需要重构的代码]
- **编程语言**: [如:Java/Python/JavaScript等]
- **项目背景**: [简述代码所属项目类型和业务场景]
- **重构目标**: [如:提升可读性/优化性能/降低耦合/增强可测试性]
- **约束条件**: [如:需保持API兼容/不能引入新依赖/时间限制等]# 输出要求## 1. 内容结构### 📊 代码健康度评估
- **整体评分**: [1-10分]
- **主要问题**: [列出3-5个核心问题]
- **风险等级**: [高/中/低]### 🔍 代码异味诊断
按严重程度排序,逐一分析:
- **异味名称**: [如:过长方法、重复代码、数据泥团等]
- **问题位置**: [具体行号或代码片段]
- **影响分析**: [该问题带来的具体危害]
- **重构手法**: [推荐的重构技术名称]### 💡 重构方案设计
- **方案概述**: [整体重构思路]
- **重构步骤**: [按执行顺序列出]
- **重构后代码**: [提供完整的重构示例]
- **改进说明**: [解释每处改动的原因]### ✅ 重构验证清单
- **功能等价性**: [确保行为不变的验证方法]
- **性能影响**: [预期的性能变化]
- **测试覆盖**: [建议的测试策略]### 📈 进一步优化建议
- **短期优化**: [可立即实施的改进]
- **长期规划**: [架构层面的演进建议]## 2. 质量标准
- **专业准确**: 重构建议必须基于公认的重构原则和设计模式
- **安全可控**: 每个重构步骤都要保证代码功能不受影响
- **可操作性**: 建议必须具体可执行,避免泛泛而谈
- **循序渐进**: 复杂重构要分解为小步骤,降低风险## 3. 格式要求
- 使用Markdown格式,层次分明
- 代码块使用对应语言的语法高亮
- 重要内容使用emoji标识增强可读性
- 每个代码异味单独成段,便于逐一处理## 4. 风格约束
- **语言风格**: 专业严谨但不晦涩,技术性与可读性兼顾
- **表达方式**: 先诊断后处方,先问题后方案
- **专业程度**: 深入专业,面向有经验的开发人员# 质量检查清单在完成输出后,请自我检查:
- [ ] 是否识别了所有主要的代码异味?
- [ ] 重构建议是否遵循SOLID原则?
- [ ] 重构步骤是否足够小且可验证?
- [ ] 是否提供了完整可运行的重构后代码?
- [ ] 是否考虑了向后兼容性?
- [ ] 是否给出了相应的测试建议?# 注意事项
- 不要过度重构,只解决实际存在的问题
- 优先处理高风险、高收益的重构点
- 保守估计重构收益,务实评估重构成本
- 尊重项目现有的代码风格和团队约定
- 复杂重构建议分多个PR/MR逐步实施# 输出格式
按照上述结构化格式输出完整的重构分析报告,确保每个部分都有实质性内容
🧠 为什么它能治好你的“重构拖延症”?
1. 像医生看片一样精准诊断
普通的 AI 可能会直接扔给你一堆改后的代码,让你不知所措。这个指令要求 AI 必须先输出“代码健康度评估”和“代码异味诊断”。
它会明确告诉你:“第 45 行使用了魔法数字”、“第 80 行存在数据泥团(Data Clumps)”、“整个类违反了开闭原则”。这种诊断先行的模式,能让你清晰地看到代码的病灶在哪里,而不是盲目修改。
2. 只有方案,没有教条
很多重构建议容易陷入“为了模式而模式”的陷阱。这个指令强调“循序渐进”和“安全可控”。它不会让你为了用一个设计模式而把整个系统推倒重来,而是会给出分步骤的执行计划。
甚至在“重构验证清单”里,它会提醒你关注“功能等价性”。这对于处理遗留代码(Legacy Code)来说,简直是救命稻草——它时刻提醒你:重构的首要前提是不破坏现有功能。
3. SOLID 原则的落地实践
我们都背过 SOLID 原则,但真正写代码时往往抛诸脑后。这个 Prompt 内置了对 SOLID 原则的检查。AI 在重构时,会自然地应用单一职责原则(SRP)拆分大类,应用依赖倒置原则(DIP)解耦组件。这相当于你在写代码时,旁边有一位 Martin Fowler(《重构》作者)在手把手指导。
⚙️ 怎么用效果最好?
建议你把这个 Prompt 配置在你的 IDE 插件或者常用的 AI 对话框里。
最佳使用场景:
- Code Review 前:先把同事的代码(或者你自己的代码)喂给 AI,看看有没有明显的“异味”。这能极大地提升 CR 的质量。
- 接手老项目时:面对一坨不知所云的代码,让 AI 帮你理清逻辑,生成一份重构路线图。
- 写单元测试前:不可测试的代码往往意味着设计缺陷。让 AI 分析如何重构才能让代码更容易被测试。
重构不是什么宏大的工程,它就是一种“童子军规则”的日常践行:离开营地时,要比你来的时候更干净。
带上这个 AI 助手,开始清理你的代码营地吧。
代码腐烂是熵增的必然,但恐惧重构会让系统走向崩塌。本文提供了一套“专家级代码重构AI指令”,通过健康度评估、异味诊断和安全验证三步法,让AI化身资深架构师,助你安全清理技术债务,践行代码质量的“童子军规则”。