SuperAPI AI 工具集

request-refactor-plan

编程与开发

查看项目

更新于 10-15 10:24

技能介绍

用途

该技能在用户希望创建重构请求时被调用,用于引导完成一套有条理的重构规划流程,最终产出一份可执行的重构计划并归档为 GitHub issue。

主要能力与流程

技能定义了一套步骤,执行时可以按需跳过认为不必要的步骤:

  1. 让用户提供他们想要解决的问题的长而详细的描述,以及任何可能的解决方案想法。
  2. 探索仓库以验证用户的说法并理解代码库的当前状态。
  3. 询问用户是否考虑过其他方案,并向他们展示其他可选方案。
  4. 就实现细节访谈用户,要求极其详细和彻底。
  5. 敲定实现的确切范围,明确计划改动什么、不计划改动什么。
  6. 在代码库中检查该区域的测试覆盖情况。如果测试覆盖不足,询问用户的测试计划。
  7. 将实现拆解成小提交计划,遵循 Martin Fowler 的建议:让每个重构步骤尽可能小,以便始终能看到程序正常运行。
  8. 创建包含重构计划的 GitHub issue。

GitHub issue 模板结构

该技能使用固定的 issue 描述模板,包含以下部分:

  • Problem Statement(问题陈述):从开发者视角描述开发者面临的问题。
  • Solution(解决方案):从开发者视角描述问题的解决方案。
  • Commits(提交):一份长而详细的实现计划,用平实的英语撰写,将实现拆解为尽可能小的提交。每个提交都应让代码库处于可工作状态。
  • Decision Document(决策文档):列出所做的实现决策,可包括将构建/修改的模块、这些模块将被修改的接口、来自开发者的技术澄清、架构决策、schema 变更、API 契约、特定交互。注意:不要包含具体文件路径或代码片段,因为它们可能很快过时。
  • Testing Decisions(测试决策):列出所做的测试决策,包括对什么是好测试的描述(只测试外部行为,不测试实现细节)、将测试哪些模块、测试的先前参考(即代码库中类似类型的测试)。
  • Out of Scope(范围外):描述本次重构范围之外的事项。
  • Further Notes(进一步说明,可选):关于重构的任何进一步说明。

适用场景

适用于用户想要规划一次重构、创建重构请求,或需要将重构工作系统化拆解并记录为 GitHub issue 的场合。

限制

官方资料未提供关于支持的平台、收费情况或具体依赖的说明。