用途
w-refactor 用于对选定的代码进行重构,在保持行为不变的前提下改进代码结构,并在修改后验证结果。它可以作用于选中的文件,也可以针对一个指定的关注点(named concern)进行重构。
主要能力
- 在编辑前捕获当前行为,可通过测试、类型检查或手动场景完成。
- 建立基线,记录调用方依赖什么、哪些检查可以证明行为、以及哪些内容必须保持不变。
- 以最小的有效差异改进结构,包括提取重复代码、澄清命名、减少嵌套。
- 复用已有的包。
- 不添加只是复述代码的注释。
- 仅在仓库的 profiler、测试或 trace 提供可测量证据时,才更改算法或数据结构。
- 修改后运行基线中受影响的检查;如果失败则恢复行为。
- 不运行完整的 pre-push 套件。
使用方式
使用选中的文件或一个指定的关注点作为重构对象。编辑前先记录基线:调用方依赖什么、哪些检查能证明行为、什么不能改变。然后以最小有效差异改进结构。修改后运行基线中受影响的检查,失败则恢复行为。如果行为或命令发生变化,可参考 /w-docs 文档。
适用场景
适用于需要在保持行为不变的前提下改进代码结构的场景,例如提取重复代码、澄清命名、减少嵌套等。
限制
重构不授权 commit、push 或 PR。更改算法或数据结构需要来自仓库 profiler、测试或 trace 的可测量证据。不运行完整的 pre-push 套件。