SuperAPI AI 工具集

refactor-code

编程与开发

查看项目

更新于 10-16 04:04

技能介绍

用途

refactor-code 是一个重构专用技能,目标是在不改变代码行为的前提下,改善代码的清晰度与可维护性。当用户需要提升可读性、降低复杂度或消除重复代码时,可以调用该技能。

主要能力与原则

技能围绕以下核心原则展开:

  • 保持功能不变:只改变代码的实现方式,不改变代码做什么;所有原有功能、输出与行为必须保持一致。
  • 清晰优先于简洁:更倾向于可读、显式的代码,而不是取巧的紧凑写法;三行清晰的代码优于一行令人费解的代码。
  • 增量修改:以小步、可验证的方式推进,而非大规模重写;每一步都应通过测试。
  • 测试先行:重构前确认测试存在;如果没有测试,先编写测试或与用户讨论。

技能关注的可改进点包括:可读性(更好的命名、更清晰的结构、说明性变量)、复杂度(减少嵌套、抽取函数、简化条件)、重复(DRY 违规、复制粘贴的逻辑)以及抽象程度(既不过度取巧,也不过于冗长)。

反模式(不应做的事)

  • 改变行为——这是重构,不是重写
  • 过度抽象——不要为一次性代码创建框架
  • 嵌套三元表达式——多个条件时优先使用 if/else 或 switch
  • 密集的单行代码——优先考虑可调试性而非行数
  • 过早优化——清晰优先,测量后再优化
  • 删除自己尚未完全理解的“无用”代码
  • 未经明确讨论就破坏公共接口

使用方式

技能规定了一套重构流程:

  1. 彻底理解:阅读代码,理解其用途与调用方
  2. 检查测试:若缺失,先编写或标记风险
  3. 说明计划:改动前描述要做什么以及为什么
  4. 增量修改:一次只做一项重构
  5. 每次改动后运行测试:测试失败则立即回滚
  6. 验证行为:确保重构后的代码与原始代码完全一致
  7. 总结改动:记录改了什么以及为什么

在输入处理上:如果没有提供明确的目标,检查最近修改的文件(git diff --name-only HEAD~5);如果仍不明确,则询问用户想要重构哪部分代码。技能强调:绝不重构尚未完整阅读的代码;如果目标不存在,应当指出。

关于项目上下文:技能要求始终参考项目的 CLAUDE.md 中的既有编码标准与约定,重构后的代码应匹配项目风格,而不是强加外部偏好。关于范围:默认聚焦最近修改的代码,除非用户明确要求更大范围;不要重构与当前改动无关的、正常工作的代码。

防幻觉规则

  • 先完整阅读:在提出修改建议前理解完整上下文
  • 验证调用方存在:修改接口前先确认哪些代码在使用它
  • 前后都测试:不要假定行为被保留,要实际验证
  • 检查导入:不要引用不存在的模块或函数
  • 验证模式:不要假定项目使用了某些模式,要先检查

常见重构手法

技能列出了一些常见模式及适用时机:

  • 抽取函数:重复代码或过长的函数
  • 重命名:不清晰或误导性的命名
  • 引入说明性变量:难以阅读的复杂表达式
  • 用多态替换条件:基于类型的复杂 switch/if 链
  • 抽取类/模块:一个函数做了太多事情
  • 内联:不必要的间接层损害了清晰度
  • 替换魔法数字:无法解释的字面量

平衡

好的重构在改善代码的同时,不应让调试更难、让扩展更难、为追求“优雅”而降低清晰度,或创建没人要求的抽象。技能指出:存疑时,别碰正常工作的代码——最好的重构往往是你没有去做的那一次。

限制

该技能的介绍资料未提供关于具体支持平台、安装方式、收费模式或性能效果的说明,这些信息暂未提供。