mcpField
R
refactoring-code

refactoring-code

github.com/dralgorhythm开发12867 次安装14 周前更新
代码仓库

关于 refactoring-code

面向开发者的重构技能,强调在保持行为不变的前提下,通过小步、测试验证来调整代码结构,并涵盖常见重构与安全规则。

主要功能

  1. 01变更前后运行测试
  2. 02用 Grep 检查依赖和引用
  3. 03分小步进行重构
  4. 04常见重构方法指导
  5. 05代码修改安全规则

适用场景

  1. 01从长代码块提取专用方法
  2. 02跨代码库重命名符号
  3. 03检查引用后删除代码

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dralgorhythm/claude-agentic-framework --skill refactoring-code

安装后在 Claude Code 中输入/refactoring-code确认已加载。

详细介绍

重构代码

重构模式

重构时,只改变结构,不改变行为。始终确保修改前后测试都能通过。

工作流

  • 测试通过:开始前确保所有测试都通过
  • 分析:使用 Grep 了解依赖关系
  • 小步进行:每次只做一项小改动
  • 验证用法:修改前使用 Grep 查找所有用法
  • 经常提交:每次重构成功后都提交
  • 测试通过:每次修改后确认测试仍然通过

常见重构

提取方法

如果一段代码只做一件事,就将其提取为一个命名方法。

  1. 使用 Grep 确认提取不会影响调用方
  2. 提取方法
  3. 运行测试
重命名以提高清晰度

名称应该体现意图。

  1. 使用 Grep 查找所有用法
  2. 使用 Edit 的 replace_all 对整个代码库进行重命名
  3. 确认没有遗漏的引用
删除无用代码
  1. 使用 Grep 确认代码未被使用
  2. 如果没有引用,可以安全删除
  3. 如果存在引用,则追踪并了解其用法

需要处理的代码异味

  • 过长的方法:提取较小的方法
  • 参数列表过长:引入参数对象
  • 重复代码:提取为共享函数(使用 Grep 查找重复代码)
  • 特征依恋:将方法移到其最常使用的类中
  • 数据泥团:将相关数据归为对象
  • 基本类型偏执:用值对象替换基本类型

安全规则

  1. 绝不要同时进行重构和添加功能
  2. 删除或重命名前,始终使用 Grep 查找所有用法
  3. 每次修改后都运行测试
  4. 使用有针对性的 Edit 操作,而不是大范围查找替换
  5. 经常提交可正常运行的状态

评论

支持 Markdown