用途:对 Python 代码进行系统性重构,在不改变外部行为的前提下改善内部结构,提升可读性、可维护性与可扩展性。适用场景包括代码重构、代码审查、代码质量改善、技术债务清理。
核心原则:重构不等于重写;保持接口兼容;有测试才重构;最小改动。参考文档基于 vllm-ascend 仓库 20 余个真实重构 PR 提炼;所有数值阈值(函数行数、参数个数等)集中在 refactoring-config.json,可自定义或禁用。
主要能力与参考文档:识别代码问题用 references/code-smells.md;选择设计模式用 references/design-patterns.md;改善可读性用 references/readability.md;实战模式与案例用 references/refactoring-in-practice.md;生成重构文档用 references/refactoring-report.md;自定义约束阈值改 refactoring-config.json。资料还给出坏味道到重构模式的速查表,如过长函数用 Extract Method、Guard Clause,过长参数列表用 dataclass 参数对象、Builder,重复代码视情况用装饰器、模板方法或策略模式,上帝类按职责拆分,过度继承用组合加 Protocol,if-elif 创建实例用工厂模式(注册表),魔法数字用枚举,过大模块包化,基准测试证明的劣势路径删除等。
执行流程:先做前置检查(确认有测试覆盖、代码可正常运行、评估重构规模),再识别问题、选择策略、结构重构、打磨优化,最后运行测试与 linter/type checker 验证无回归,用户请求时再输出重构文档。粒度上,小型(单函数)直接修改并单次提交,中型(单类或模块)拆分为 2-3 次提交,大型(跨模块或包)制定计划分阶段执行。
限制:资料未提供安装命令、平台支持、收费标准等事实,暂未提供。应在有测试覆盖时进行重构;无测试且难以补充的核心代码、即将废弃代码、紧急修复场景不建议优先重构。