重构之重新组织函数(Substitute Algorithm)
摘要:概述 将函数本体(method body)替换为另一个算法。 动机(Motivation) 如果你发现做一件事可以有更清晰的方式,就应该以较清晰的方式取代复杂方式。可以把一些复杂的东西分解为较简单的小块,但有时你就是必须壮士断腕,删掉整个算法,代之较简单的算法。 public string Foun
阅读全文
posted @
2019-12-02 15:41
低调的小郭
阅读(146)
推荐(0)
重构之重新组织函数(Remove Method With Method Object)
摘要:你有一个大型函数,其中对局部变量的使用,使你无法釆用 Extract Method。 将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的值域(field) 然后你可以在同一个对象中将这个大型函数分解为数个小型函数 class Order... double price() { double
阅读全文
posted @
2019-12-02 15:30
低调的小郭
阅读(277)
推荐(0)
重构之重新组织函数(Remove Assignments to Parameters)
摘要:public class RemoveAssignmentsToParameters { //before remove assigments to parameters public int discount(int inputVal,int quantity,int yearToDate) {
阅读全文
posted @
2019-12-02 15:13
低调的小郭
阅读(227)
推荐(0)
重构之重新组织函数(Introduce Explaining Variable)
摘要:Introduce Explaining Variable 概述 将复杂表达式的结果放进一个临时变量,以此变量名称来解释表达式用途。 动机(Motivation) 表达式有可能非常复杂而难以阅读,临时变量可以帮助你将表达式分解为比较容易管理的形式。 作法(Mechanics) 1、声明一个final
阅读全文
posted @
2019-12-02 14:36
低调的小郭
阅读(176)
推荐(0)
重构之重新组织函数(Replace Temp With Query)
摘要:Replace Temp with Query 概述 程序以一个临时变量(temp)保存某一表达式的运算结果。将这个表达式提炼到一个独立函数(查询式,query)中。将这个临时变量的所有(被引用点)替换为对新函数的调用。新函数可被其它函数使用。 动机(Motivation) 临时变量的问题在于,它们
阅读全文
posted @
2019-12-02 14:25
低调的小郭
阅读(439)
推荐(1)
重构之重新组织函数(Inline Temp)
摘要:Inline Temp 概述 一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其它重构手法。 动机(Motivation) Inline Temp多半是作为Replace Temp with Query的一部分来使用。惟一单独使用Inline Temp的情况是:你发现某个临时变量被赋予某个函数调
阅读全文
posted @
2019-12-02 14:14
低调的小郭
阅读(224)
推荐(0)
重构之重新组织函数( Inline Method)
摘要:Inline Method(内联函数) 一、Inline Method 概述 一个函数,其本体(method body)应该与其名称(method name)同样清楚易懂. 动机(Motivation) 以简短的函数表现动作意图,这样会使代码更清晰易读.但有时候你会遇到某些函数.其内部代码和函数名称
阅读全文
posted @
2019-12-02 11:33
低调的小郭
阅读(361)
推荐(0)
重构之重新组织函数(ExTract Method)
摘要:引用自 Refactoring Improving the Design of Existing Code Martin Fowler 1.Extract Method(提炼函数) 范例(Examples) 1、无局部变量(No Local Variables) public class Extra
阅读全文
posted @
2019-12-02 09:30
低调的小郭
阅读(1004)
推荐(0)