本文首先记录了对重构这本书第六章的学习笔记,第六章讲重新组织函数,主要过程是:发现问题(long method)——> Extract Method ——> Substitute Algorithm。其中抽取方法是重点和难点。
1、问题源于long methods
2、手段是Extract Method,当提炼没有必要是,使用Inline Method,使用函数动作本体,Extract Method时最大的困难是处理局部变量,临时变量是难中之难。
1)运用Replace Temp with Query去掉可去掉的临时变量,
2)Split Temporary Variable处理某个临时变量被赋值超过一次的情况,如何分解:重新声明一个新的临时变量,
3)Replace Method with Method Object处理临时变量过于混乱情况,将平铺的方法抽取出来给某个对象,然后调用此对象的方法代替。
4)Remove Assignments to Parameters处理参数的问题,不要在函数内对参数赋值,
5)当直接Extract Method比较吃力时,Introduce Explaining Variable,然后在执行Extract Method。
3、函数分解之后,Substitute Algorithm引入更清晰的算法进行改进