SuperAPI AI 工具集

code-refactoring

编程与开发

查看项目

更新于 10-15 12:20

技能介绍

用途

该技能面向代码重构场景,提供在不改变代码行为的前提下改善代码质量的模式与技巧。可用于清理遗留代码、降低复杂度、提升可读性,以及在添加新功能前先让改动变得更容易。

主要能力

重构原则

何时重构:

  • 添加新功能之前(先让改动容易,再做容易的改动)
  • 测试通过之后(红-绿-重构)
  • 发现代码坏味道时
  • 处理代码评审反馈时

何时不应重构:

  • 代码没有测试覆盖时
  • 工期紧张且没有安全网时
  • 代码很快会被替换时
  • 不理解代码在做什么时

常见代码坏味道

  • 过长方法:一个方法承担过多职责,应提取为职责聚焦的多个方法。
  • 深层嵌套条件:层层嵌套的“箭头代码”,可用提前返回(卫语句)改写。
  • 基本类型偏执:到处使用基本类型,可引入值对象(如 Email 类)封装校验。
  • 依恋情结:某方法大量使用另一个对象的数据,应把方法移动到数据所在之处。

重构手法

  • 提取方法:识别只做一件事的代码块,移动到命名清晰的新方法,原处改为调用。
  • 以多态替换条件:把基于类型的 switch 改为多态类实现。
  • 引入参数对象:参数过多时,用参数对象聚合相关参数。
  • 用常量替换魔法数字:把散落的数字提取为具名常量。

安全重构流程

  1. 确保存在测试——没有就补写测试
  2. 小步修改——一次只做一项重构
  3. 每次改动后运行测试——立即捕获回归
  4. 频繁提交——出问题时便于回滚
  5. 审查差异——确认行为未改变

重构检查清单

  • 开始前测试通过
  • 每次改动小而聚焦
  • 每次改动后测试通过
  • 无行为变化(仅结构变化)
  • 代码比之前更易读
  • 提交信息说明本次重构内容

使用方式

资料未提供该技能的具体安装命令、调用方式或集成步骤,暂未提供。

适用场景

  • 清理遗留代码
  • 降低代码复杂度
  • 提升代码可读性
  • 在添加新功能前进行准备性重构
  • 处理代码评审中提出的结构改进意见

限制

  • 缺少测试覆盖时不应重构
  • 工期紧张且无安全网时不应重构
  • 即将被替换的代码不应重构
  • 不理解代码行为时不应重构
  • 资料未提供关于收费、价格、支持平台或实际效果的信息,暂未提供。