第5章 重构列表
5.1 重构的记录格式
每个重构方法都有如下五个部分:
名称(name)
概要(summary)简单介绍此重构方法的适用情景,以及它所做的事情。
动机(motivation)为你介绍“为什么需要这个重构”和“什么情况下不该使用这个重构”
做法(mechanics)
范例(examples)
5.2 寻找引用点
(现在主流的Java IDE(例如Eclipse和IntelliJ IDEA)都能相当准确地找到程序元素的引用点。但如果使用Java外的编程语言,仍然可能用到本节所介绍的技巧。)
最好的帮手是一个适当的文本查找工具。许多编程环境都允许你在一个或一组文件中进行文本查找,而查找目标的可访问级则会告诉你需要查找的文件范围。
不要盲目地查找-替换。
在强类型语言中,你可以让编译器帮助你捕捉漏网之鱼。你往往可以直接删除旧部分,让编译器帮你找出因此而被悬挂起来的引用点。但是这种技巧也存在问题。
首先,如果被删除的部分在继承体系中声明不止一次,那么编译器也会被迷惑。尤其是当你处理一个被覆写多次的函数时,情况更是如此。
第二个问题是:编译器可能太慢,从而使你的工作失去效率。
第三个问题是:编译器无法找到通过反射机制而得到的引用点。这也是我们应该小心使用反射的原因之一。