摘要:
【1】源代码 【2】搬移字段 【3】总结 程序中,某个字段被其所驻类之外的另一个类更多的用到。在目标类新建一个字段,修改源字段的所有用户,令他们改用新字段。 如果发现,对于一个字段,在其所驻类之外的另一个类中有更多函数使用了它,我就会考虑搬移这个字段。 Good Good Study, Day Da 阅读全文
摘要:
【1】源代码 【2】搬移函数 【3】总结 在程序中,如果有个函数与其所驻之类的另外一个类进行更多交流,调用后者或被后者调用。 在该函数最常引用的类中建立一个有着类似行为的新函数。 将旧函数变成一个单纯的委托函数,或将旧函数完全移除。 Good Good Study, Day Day Up. 顺序 选 阅读全文
摘要:
【1】源代码 【2】替换算法 【3】总结 想要把某个算法替换为另一个更清晰的算法。将函数本体替换为另一个算法。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】以函数对象取代函数 【3】总结 有一个大型函数,其中对局部变量的使用使你无法采用[1.1提炼函数]。 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的字段。 然后,你可以在同一个对象中将这个大型函数分解为多个小型函数。 Good Good Study, Day Day 阅读全文
摘要:
【1】源代码 【2】移除对参数的赋值动作 【3】总结 代码对一个参数进行赋值。以一个临时变量取代该参数的位置。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】分解临时变量 【3】总结 有某个临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果。针对每次赋值,创造一个独立、对应的临时变量。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】引入解释性变量 【3】总结 程序中有一个复杂表达式。将该复杂表达式(或其中一部分)的结果放进一个临时变量,以此变量名称来解释表达式用途。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】以查询取代临时变量 【3】总结 以一个临时变量保存某一表达式的运算结果。将这个表达式提炼到一个独立函数中。 将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可以被其他函数使用。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】将临时变量内联化 【3】总结 有一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构手法。将所有对该变量的引用动作,替换为对它赋值的那个表达式自身。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 【2】函数内联化 【3】总结 一个函数的本体与名称同样清楚易懂。在函数的调用点插入函数本体,然后移除该函数。 Good Good Study, Day Day Up. 顺序 选择 循环 总结 阅读全文
摘要:
【1】源代码 把一个unsigned long long型数值格式转换为时间格式。 【2】提炼函数 【3】编译测试 【4】总结 有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 Good Good Study, Day Day Up. 顺序 选择 循 阅读全文