任务5:再撸一遍
Java 版
1. 对整个旧方法体应用“提炼函数”,并给新方法一个临时的名字,可以是`temp_as()` / `_as()` / `myName_as()`等,关键是回头容易搜索
2. 运行测试
3. 使旧方法直接转调新方法
4. 运行测试 [旧的不变]
5. 在新方法上新增一个参数,新参数如果暂时没有好的命名,可以取一个容易搜索的名字以便后面替换(比如`temp_unit`, `uuuunit`,`my_unit`等),并在旧方法上传入新参数
6. 运行测试
7. 在旧方法中将`String unit`值转换为正确的`Unit temp_unit`值,可以小步地一次只替换一个值(如`YARD`或`INCH`)
8. 运行测试 [新的创建]
9. 查找原函数的引用点
10. 逐一替换每个引用点,令它们使用新参数调用新方法 [一步切换]
11. 每次替换之后运行测试
12. 重复 7-11,直到所有替换完成,`String unit`变量不再被使用为止
13. 删除旧方法 [旧的再见]
14. 运行测试
15. 移除新方法上没用的参数、必要时改回原来的名字(如由`temp_as(..., Unit temp_unit)`改回`as(Unit unit)`)
16. 运行测试
17. 所有测试通过,完成替换JavaScript 版
你的任务
思考
参考资料
Last updated