From 49325d3bddb8adbbeaba8facb6456708d28ecbd8 Mon Sep 17 00:00:00 2001 From: Estom Date: Sun, 11 Apr 2021 22:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=95=B4=E7=90=86=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Vscode教程/C++/1 使用教程.md | 0 工作日志/2021年2月27日-三月份计划.md | 2 + 工作日志/2021年4月10日-今日计划.md | 1 + 设计模式/4 行为型设计模式.md | 3 +- 设计模式/refactor/0 代码重构方法.md | 22 ++ 设计模式/refactor/1 坏的味道.md | 151 +++++++++ 设计模式/refactor/2 重新组织函数.md | 210 +++++++++++++ 设计模式/refactor/3 在对象之间搬移特性.md | 212 +++++++++++++ 设计模式/refactor/4 重新组织数据.md | 201 ++++++++++++ 设计模式/refactor/5 简化条件表达式.md | 287 ++++++++++++++++++ 设计模式/refactor/6 简化函数调用.md | 126 ++++++++ 设计模式/refactor/7 处理继承关系.md | 97 ++++++ .../refactor/image/2021-04-11-20-50-57.png | Bin 0 -> 3383 bytes .../refactor/image/2021-04-11-20-52-27.png | Bin 0 -> 91285 bytes .../refactor/image/2021-04-11-21-59-29.png | Bin 0 -> 16331 bytes .../refactor/image/2021-04-11-22-01-58.png | Bin 0 -> 10725 bytes .../refactor/image/2021-04-11-22-02-10.png | Bin 0 -> 12261 bytes .../refactor/image/2021-04-11-22-02-22.png | Bin 0 -> 12201 bytes .../refactor/image/2021-04-11-22-05-41.png | Bin 0 -> 6880 bytes .../refactor/image/2021-04-11-22-10-08.png | Bin 0 -> 11270 bytes .../refactor/image/2021-04-11-22-10-17.png | Bin 0 -> 25565 bytes .../refactor/image/2021-04-11-22-10-29.png | Bin 0 -> 187103 bytes .../refactor/image/2021-04-11-22-11-01.png | Bin 0 -> 28751 bytes 设计模式/refactor/重构规划书.md | 18 -- 设计模式/refactor/附录1 代码重构理论.md | 134 ++++++++ 设计模式/refactor/附录2 C++代码重构工具.md | 0 设计模式/refactor/附录3 重构规划书.md | 53 ++++ 27 files changed, 1497 insertions(+), 20 deletions(-) create mode 100644 Vscode教程/C++/1 使用教程.md create mode 100644 设计模式/refactor/0 代码重构方法.md create mode 100644 设计模式/refactor/1 坏的味道.md create mode 100644 设计模式/refactor/2 重新组织函数.md create mode 100644 设计模式/refactor/3 在对象之间搬移特性.md create mode 100644 设计模式/refactor/4 重新组织数据.md create mode 100644 设计模式/refactor/5 简化条件表达式.md create mode 100644 设计模式/refactor/6 简化函数调用.md create mode 100644 设计模式/refactor/7 处理继承关系.md create mode 100644 设计模式/refactor/image/2021-04-11-20-50-57.png create mode 100644 设计模式/refactor/image/2021-04-11-20-52-27.png create mode 100644 设计模式/refactor/image/2021-04-11-21-59-29.png create mode 100644 设计模式/refactor/image/2021-04-11-22-01-58.png create mode 100644 设计模式/refactor/image/2021-04-11-22-02-10.png create mode 100644 设计模式/refactor/image/2021-04-11-22-02-22.png create mode 100644 设计模式/refactor/image/2021-04-11-22-05-41.png create mode 100644 设计模式/refactor/image/2021-04-11-22-10-08.png create mode 100644 设计模式/refactor/image/2021-04-11-22-10-17.png create mode 100644 设计模式/refactor/image/2021-04-11-22-10-29.png create mode 100644 设计模式/refactor/image/2021-04-11-22-11-01.png delete mode 100644 设计模式/refactor/重构规划书.md create mode 100644 设计模式/refactor/附录1 代码重构理论.md create mode 100644 设计模式/refactor/附录2 C++代码重构工具.md create mode 100644 设计模式/refactor/附录3 重构规划书.md diff --git a/Vscode教程/C++/1 使用教程.md b/Vscode教程/C++/1 使用教程.md new file mode 100644 index 00000000..e69de29b diff --git a/工作日志/2021年2月27日-三月份计划.md b/工作日志/2021年2月27日-三月份计划.md index e96ae27e..b1add975 100644 --- a/工作日志/2021年2月27日-三月份计划.md +++ b/工作日志/2021年2月27日-三月份计划.md @@ -17,6 +17,8 @@ - [ ] 设计模式(有道云笔记,源网址,gitee设计模式库,书) - [ ] effective 系列 - [ ] 系列视频(知乎上收藏的内容) + - [ ] 狂神java、linux系列 + - [ ] C++ coding系列 - [ ] 看大佬写C++。(chermo) - [ ] 问题专项解决 - Java(四周) diff --git a/工作日志/2021年4月10日-今日计划.md b/工作日志/2021年4月10日-今日计划.md index 31f87bce..40febc86 100644 --- a/工作日志/2021年4月10日-今日计划.md +++ b/工作日志/2021年4月10日-今日计划.md @@ -3,6 +3,7 @@ - [x] 设计模式复习 - [ ] vscode C++集成开发环境 - [ ] cmake/vs 项目重构 +- [ ] 项目重构计划书完成。(等有时间再搞) - [ ] 制定四月份论文阅读计划 diff --git a/设计模式/4 行为型设计模式.md b/设计模式/4 行为型设计模式.md index 3d821406..c9e395ad 100644 --- a/设计模式/4 行为型设计模式.md +++ b/设计模式/4 行为型设计模式.md @@ -92,8 +92,7 @@ ### **对象作为参数** -一些模式引入总是被用作参数的对象。例如一个 Visitor 对象是一个多态的 Accept -操作的参数。 +一些模式引入总是被用作参数的对象。例如一个 Visitor 对象是一个多态的 Accept操作的参数。 一些模式定义一些可作为令牌到处传递的对象。例如 Command 代表一个请求,Memento 代表一个对象在某个时刻的内部状态。 diff --git a/设计模式/refactor/0 代码重构方法.md b/设计模式/refactor/0 代码重构方法.md new file mode 100644 index 00000000..2a085703 --- /dev/null +++ b/设计模式/refactor/0 代码重构方法.md @@ -0,0 +1,22 @@ +# 代码重构的常用方法 (C++实现) + +## 0 概述 + +### 重构定义 +重构是在软件开发中改善已有代码的一种方法,通过代码重构可以改进软件的设计、使得软件更容易理解、有利于Bug的发现以及提高后续开发效率。Martin Fowler在《重构:改善既有代码的设计》一书中对“重构”提供了两种形式的定义: + +1. 重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 +2. 重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。 + +### 重构时机 +对于何时重构,Martin Fowler认为不能为重构而重构,应该在 **“当你想做别的事情,而重构可以帮助你把那些事情做好”** 时,才去进行重构。并给出了四个常见的重构时机: +1. 事不过三,三则重构; +2. 添加功能时重构; +3. 修补错误时重构; +4. 复审代码时重构。 + +对于何时不应该重构,Martin Fowler认为如果“既有代码是在太混乱,重构它还不如重新写一个简单”时就应该重写,而不是重构。重写的一个清晰的信号是:现有代码根本不能正常运作。 + +重构既是一件脑力活,也是一件体力活。特别是在软件中的“代码坏味道”积累到一定量时,就需要花费大量的时间和精力才能完成对代码的重构。因此,需要加强对“代码坏味道”的嗅觉,在发现“代码坏味道”时及时地去重构,通过不断的微重构来阻止代码架构的腐化,从而避免走上代码重写的艰难之路。 + +本文主要对《重构》一书中提到的一些常见的“代码坏味道”和对应重构手法的总结。 diff --git a/设计模式/refactor/1 坏的味道.md b/设计模式/refactor/1 坏的味道.md new file mode 100644 index 00000000..205286cf --- /dev/null +++ b/设计模式/refactor/1 坏的味道.md @@ -0,0 +1,151 @@ + +# 1 代码坏味道 +## 1 Duplicated Code(重复代码) +### 现象 +1. 同一个类的两个函数含有相同的表达式。 +2. 两个互为兄弟的子类内含相同的表达式(可能其中对应的某些函数以相同顺序执行类似的操作,但在各个操作的细节上有所不同)。 +### 重构手法 +1. Extract Method +2. Extract Method->Pull Up Method (->Form Template Method) + + +## 2 Long Method(过长函数) +### 现象 +1. 一个函数所承担的事情太多,导致代码行数过长(可能有临时变量存在)。 +### 重构手法 +2. Extract Method (->Replace Temp with Query) + +## 3 Large Class(过大的类) +### 现象 +1. 一个类做了太多的事情,不符合单一职责原则,导致代码过多。 + +### 重构手法 +1. Extract Class + +## 4 Long Parameter List(过长参数列) +### 现象 +总体表现为一个函数的参数列表太长,可能伴随着以下两种现象: +1. 向已有的对象发出一条请求就可以取代一个参数。 +2. 某些参数数据缺乏合理的对象归属。 +### 重构手法 +1. Replace Parameter with Explicit Method +2. Introduce Parameter Object + +## 5 Divergent Change(发散式变化) +### 现象 +1. 某个类经常因为不同的原因在不同的方向上发生变化。 + +## 重构手法 +1. Extract Class + +## 6 Shotgun Surgery(霰弹式修改) +### 现象 +1. 每遇到某种变化,都必须在许多不同的类内作出许多小修改。 +### 重构手法 +1. Move Method->Move Field + +## 7 Feature Envy(依恋情结) +### 现象 +1. 函数对某个类的兴趣高过对所驻类的兴趣。 +2. 函数中的一部分对某个类的兴趣高过对所驻类的兴趣。 +### 重构手法 +1. Move Method +2. Extract Method->Move Method + +## 8 Data Clumps(数据泥团) +### 现象 +1. 多个类中有这相同的字段。 +2. 多个函数的签名中有着相同的字段。 +### 重构手法 +1. Extract Class +2. Extract Class->Introduce Parameter Object + +## 9 Primitive Obsession(基本类型偏执) +### 现象 + +总体表现为以基本类型表示一些具有业务性质的概念,又分成两种情况: + +1. 基本类型都是独立的出现 +2. 几个基本都行总是一起出现(可能出现在函数参数列表中) +### 重构手法 +1. Replace Data Value with Object +2. Extract Class (->Introduce Parameter Object) + +## 10 Switch Statements(switch惊悚现身) +### 现象 + +代码中出现switch表达式,分以下两种场景 + +1. 根据类型码来选择不同的行为。 +2. 只是单一函数中有些选择事例(可能选择条件之一是NULL) + +### 重构手法 +1. Extract Method->Move Method->Replace Conditional with Polymorphism +2. Replace Parameter with Explicit Method (->Introduce Null Object) + +## 11 Parallel Inheritance Hierarchies(平行继承体系) +### 现象 +1. 每当为某个类增加一个子类,也必须为另一个类相应增加一个子类(Shotgun Surgery的特殊情况) + +### 重构手法 +1. Move Method->Move Field + +## 12 Lazy Class(冗赘类) +### 现象 +某个类在重构后变得冗余,或者这个类是为未来变化服务的,当前并没有用。可能属于以下两种场景: +1. 属于继承体系 +2. 属于组合体系 +### 重构手法 +1. Collapse Hierarchy +2. Inline Class +## 13 Speculative Generality(夸夸其谈未来性) +### 现象 + +某个类是为未来变化服务的,当前并没有用。可能属于以下两种场景: + +1. 属于继承体系 +2. 属于组合体系 + +### 重构手法 +1. Collapse Hierarchy +2. Inline Class + +## 14 Temporary Field(令人迷惑的临时字段) +### 现象 +1. 在一个类中,某个字段只在特定的情况下才有用,其余情况下容易令人迷惑。 +### 重构手法 +1. Extract Class (将该字段以及使用到它的代码提取到一个新的类中,使得代码高内聚) + +## 15 Message Chains(过度耦合的消息链) +### 现象 +1. 向一个对象请求另一个对象,然后在向后者请求另一个对象,… +### 重构手法 +2. Hide Delegate + +## 16 Middle Man(中间人) +### 现象 +1. 某个类接口有一半的函数都委托给其他类。 +### 重构手法 +1. Remove Middle Man + +## 17 Inappropriate Intimacy(不适当的亲密关系) +### 现象 +1. 两个类过于亲密,花费太多时间去探究彼此的private成分。 +### 重构手法 +有以下两种重构思路: +1. Move Method->Move Field +2. Extract Class (将两者共同点提炼到一个新的类中) + +## 18 Data Class(纯数据类) +### 现象 +1. 某些类拥有一些字段,以及对应的getter/setter函数,除此之外一无长处。这些类通常被其他类过分琐碎的操控者。 +2. 只有getter/setter函数,没有业务行为函数的类就是DDD中提到的贫血模型。在软件开发过程中,除非框架要求,应该杜绝贫血模型的出现。 + +### 重构手法 +1. Remove Setting Method(对那些不该被其他类修改的字段使用)->Move Method(把在其他类上的调用行为搬移到数据类中) + +## 19 Comments(过多的注释) +### 现象 +1. 如果一段代码有着长长的注释,那么就会发现,这些注释之所以存在是因为代码很糟糕,注释本身并不是一种坏味道。 +### 重构手法 +1. Extract Method diff --git a/设计模式/refactor/2 重新组织函数.md b/设计模式/refactor/2 重新组织函数.md new file mode 100644 index 00000000..2a8dc329 --- /dev/null +++ b/设计模式/refactor/2 重新组织函数.md @@ -0,0 +1,210 @@ +## 2 重新组织函数 +## 1 Extract Method(提炼函数) + +### 概念 +Extract Method应该是最常用的重构手法了,当遇到一个过长的代码或者需要添加注释才能让人理解其用途的代码时,就可以运用Extract Method将代码提炼到一个函数上。该方法的一个重点时函数命名,只有给函数起个适当的名字时,他们才能真正起作用。对于是否使用该重构手法,代码长度不是问题,关键在于函数名称和函数本体之间的语义距离。 + +如果提炼可以强化代码的清晰度,那就去做,就算函数名称比提炼出来的代码还长也无所谓。 + +### 重构实例1 + +```C++ +// 重构前 +void PrintOwing(double amount) +{ + PrintBanner(); + + // print details + cout << "name: " << m_name << endl; + cout << "amount: " << amount << endl; +} +``` +```C++ +// 重构后 +void PrintOwing(double amount) +{ + PrintBanner(); + PrintDetails(amount); +} + +void PrintDetails(double amount) +{ + cout << "name: " << m_name << endl; + cout << "amount: " << amount << endl; +} +``` + +当重构的代码中带有临时变量时,可以将局部变量作为提炼函数的入参(参见重构示例1)。如果涉及到对临时变量的再赋值,可能还需要返回处理结果(参见重构示例2) + +### 重构实例2 +```C +// 重构前 +void PrintOwing(double amount) +{ + PrintBanner(); + + double outstanding = amount * 1.2; + for (auto& order : m_orders) { + outstanding += order.Amount(); + } + + PrintDetails(outstanding); +} +``` +```C +// 重构后 +void PrintOwing(double amount) +{ + PrintBanner(); + double outstanding = amount * 1.2; + outstanding = CalOutstanding(outstanding); + PrintDetails(outstanding); +} + +double CalOutstanding(double val) +{ + double result = val; + for (auto& order : m_orders) { + result += order.Amount(); + } + return result; +} +``` +在临时变量过多的情况下,可以采用Replace Temp with Query减少临时变量。 + +## 2 Replace Temp with Query(以查询取代临时变量) +由于临时变量只能在所属函数内可见,因此会驱使你写出更长的函数。如果把临时变量替换为一个查询函数,那么同一个类中的所有函数都将可以获得这份信息。除此之外,Replace Temp with Query还可以使代码可维护性更好,如果临时变量的计算方式改变了,只需修改查询函数即可。 + +### 重构示例3 +```C +// 重构前 + +double basePrice = m_quantity + m_itemPrice; +if (basePrice > 1000) +{ + return basePrice * 0.95; +} else +{ + return basePrice * 0.98; +} +``` +```C +// 重构后 + +if (BasePrice() > 1000) +{ + return BasePrice() * 0.95; +} else +{ + return BasePrice() * 0.98; +} + +double BasePrice() +{ + return m_quantity + m_itemPrice; +} +``` + +## 3 Introduce Explaining Variable(引入解释性变量) +Introduce Explaining Variable也是一个很常用的重构手法,如果表达式非常复杂而难以阅读,引入临时变量可以将表达式分解成容易管理的形式,可读性更强。该手法在条件逻辑中特别有价值——将每个条件子句提炼出来,以一个良好命名的临时变量来解释对应条件子句的意义。 + +### 重构示例4 +```C +// 重构前 +if ((platform.find("MAC") != platform.end()) && + (browser.find("IE") != browser.end()) && + IsInit() && resize > 0) { + // do something +} +``` +```C +// 重构后 +bool isMacOs = platform.find("MAC") != platform.end(); +bool isIEBrowser = browser.find("IE") != browser.end(); +bool isResized = resize > 0; +if (isMacOs && isIEBrowser && IsInit() && isResized) { + // do something +} +``` + +## 4 Split Temporary Variable(分解临时变量) +如果有某个临时变量被赋值超过一次,则可以使用Split Temporary Variable进行重构,针对每一次赋值,创造一个独立、对应的临时变量。 + +### 重构示例5 +```C +// 重构前 +double temp = 2 * (m_height + m_width); +cout << temp << endl; +temp = m_height * m_width; +cout << temp << endl; + +// 重构后 +double perimeter = 2 * (m_height + m_width); +cout << perimeter << endl; +double area = m_height * m_width; +cout << area << endl; +``` + +在软件开发过程中应该避免使用temp/tmp作为变量名。 + +## 5 Replace Method with Method Object(以函数对象取代函数) + +对于一个大型的函数,如果有太多的临时变量导致无法采用Extract Method,而采用Replace Temp with Query + +又产生过多的查询函数时,就可以采用Replace Method with Method Object对函数进行重构。 + +将函数放进一个单独对象中,如此一来局部变量就成了对象内的字段。然后你可以在同一个对象中将这个大型函数分解成多个小型函数。 + +### 重构示例6 +```C +// 重构前 +class Account { + ... + int GetGamma(int inputVal, int quantity, int yearToDate) + { + int importantVal1 = (inputVal * quantity) + Delta(); + int importantVal2 = (inputVal * yearToDate) + 100; + if ((yearToDate - importantVal1) > 100) { + importantVal2 -= 20; + } + int importantVal3 = importantVal2 * 7; + ... + return importantVal3 - 2 * importantVal1; + } +} +``` +```C +// 重构后 +class Account { + // ... + int GetGamma(int inputVal, int quantity, int yearToDate) + { + Gamma gamma(this, inputVal, quantity, yearToDate); + return gamma.Compute(); + } +} + +class Gamma { +public: + Gamma(Account* account, int inputVal, int quantity, int yearToDate); + int Compute() + { + importantVal1 = (inputVal * quantity) + account->Delta(); + importantVal2 = (inputVal * yearToDate) + 100; + if ((yearToDate - importantVal1) > 100) { + importantVal2 -= 20; + } + importantVal3 = importantVal2 * 7; + // ... + return importantVal3 - 2 * importantVal1; + } +private: + Account* account; + int inputVal; + int quantity; + int yearToDate; + int importantVal1; + int importantVal2; + int importantVal3; +} +``` \ No newline at end of file diff --git a/设计模式/refactor/3 在对象之间搬移特性.md b/设计模式/refactor/3 在对象之间搬移特性.md new file mode 100644 index 00000000..205bca61 --- /dev/null +++ b/设计模式/refactor/3 在对象之间搬移特性.md @@ -0,0 +1,212 @@ +# 3 在对象之间搬移特性 + +## 1 Move Method(搬移函数) +如果某个函数使用另一个对象的次数比使用自己所驻对像的次数多,就可以使用Move Method将函数搬移到另一个对象。当函数中用到了原来对象的属性时,搬移后可以把原来对象this作为入参。 + +### 重构示例7 +```C +// 重构前 +class Account { +public: + double OverdraftCharge() + { + if (m_type->IsPremium()) { + double result = 10; + if (m_dayOverdrawn > 7) { + result += (m_dayOverdrawn - 7) * 0.85; + } + return result; + } + return m_dayOverdrawn * 1.75; + } + + double BankCharge() + { + double result = 4.5; + if (m_dayOverdrawn > 0) { + result += OverdraftCharge(); + } + return result; + } +private: + AccountType* m_type; + int m_dayOverdrawn; +} +``` +```C +// 重构后 +class Account { +public: + double BankCharge() + { + double result = 4.5; + if (m_dayOverdrawn > 0) { + result += m_type->OverdraftCharge(this); + } + return result; + } +private: + AccountType* m_type; + int m_dayOverdrawn; +} + +class AccountType { +public: + double OverdraftCharge(Account* account) + { + if (IsPremium()) { + double result = 10; + if (account->GetDayOverdrawn() > 7) { + result += (account->GetDayOverdrawn() - 7) * 0.85; + } + return result; + } + return account->GetDayOverdrawn() * 1.75; + } +} +``` + +## 2 Move Field(搬移字段) + +与Move Method类似,对于一个字段,如果在其所驻类之外的另一个类中有更多函数使用了它,就可以使用Move Field将该字段搬移到另一个对象中。需要注意的是,搬移之后需要在新的类中提供该字段的访问函数,否则原对象就无法访问到该字段了。 + +## 3 Extract Class(提炼类) +当一个类所承担的责任太多时,就可以使用Extract Class手法,根据单一职责原则,将类的一些函数和字段抽离出来,封装成一个新的类。 + +### 重构示例8 +```C +// 重构前 +class Person { +public: + string GetName() + { + return m_name; + } + + string GetTelephoneNumber() + { + return "(" + m_officeAreaCode + ") " + m_officeNumber; + } + + string GetOfficeAreaCode() + { + return m_officeAreaCode; + } + + string GetOfficeNumber() + { + return m_officeNumber; + } +private: + string m_name; + string m_officeAreaCode; + string m_officeNumber; +} +``` +```C +// 重构后 +class Person { +public: + string GetName() + { + return m_name; + } + + string GetTelephoneNumber() + { + return m_officeTelephone->GetTelephoneNumner(); + } + + TelephoneNumber* GetOfficeTelephone() + { + return m_officeTelephone; + } +private: + string m_name; + TelephoneNumber* m_officeTelephone; +} + +class TelephoneNumber { +public: + string GetTelephoneNumner() + { + return "(" + m_areaCode + ") " + m_number; + } + + string GetAreaCode() + { + return m_areaCode; + } + + string GetNumber() + { + return m_number; + } +private: + string m_areaCode; + string m_number; +} +``` + +## 4 Inline Class(将类内联化) +Inline Class与Extract Class相反,如果某个类所做的事情太少以至于不值得作为一个类存在,则将这个类的所有属性/函数搬移到另一个类中,然后删除原来的类。 + +## 5 Hide Delegate(隐藏“委托关系”) +Hide Delegate可以防止信息泄漏,避免模块之间的耦合。如果某个Client先通过服务对象A的字段得到另一个对象B,然后调用对象B的函数,那么Client就必须知晓这一层的委托关系。这时就产生了信息的泄漏,对象A将对象B泄漏给了Client。如果委托关系变了,Client也必须跟着改变,这样模块之间的耦合就太多了。 + +在服务类上建立Client所需的所有函数,可以隐藏委托关系。 + + +![](image/2021-04-11-21-59-29.png) + +### 重构示例9 +```C +// 重构前 +class Person { +public: + Department* GetDepartment() + { + return m_department; + } +private: + Department* m_department; +} + +class Department { +public: + Person* GetManager() + { + return m_manager; + } +private: + Person* m_manager; +} +// 如果需要知道Person* john的经理是谁,必须先取得Department对象 +manager = john->GetDepartment()->GetManager(); +``` +```C +// 重构后 +class Person { +public: + Person* GetManager() + { + return m_department->GetManager(); + } +private: + Department* m_department; +} + +class Department { +public: + Person* GetManager() + { + return m_manager; + } +private: + Person* m_manager; +} +// 现在可以通过Person* john直接知道经理了 +manager = john->GetManager(); +``` +## 6 Remove Middle Man(移除中间人) +该重构手法与Hide Delegate刚好相反,如果某个类做了过多的简单委托动作,则把该类移除,让客户端直接调用受托类。 \ No newline at end of file diff --git a/设计模式/refactor/4 重新组织数据.md b/设计模式/refactor/4 重新组织数据.md new file mode 100644 index 00000000..88089f84 --- /dev/null +++ b/设计模式/refactor/4 重新组织数据.md @@ -0,0 +1,201 @@ +# 4 重新组织数据 + +## 1 Self Encapsulate Field(自封装字段) +直接访问一个字段,后面如果与该字段的耦合关系逐渐变得笨拙时,可以使用Self Encapsulate Field手法进行重构,为这个字段建立取值/设值函数,并且只以这些函数来访问字段。 + +### 重构示例10 +``` +// 重构前 +class Range { +public: + bool Includes(int arg) + { + return arg >= m_low && arg <= m_high; + } +private: + int m_low; + int m_high; +} +``` +``` +// 重构后 +class Range { +public: + bool Includes(int arg) + { + return arg >= GetLow() && arg <= GetHigh(); + } +private: + int GetLow() + { + return m_low; + } + int GetHigh() + { + return m_high; + } +private: + int m_low; + int m_high; +} +``` + +应该更多的赋予对象业务行为函数而不是过多的使用getter/setter函数,否则对象就会变成领域驱动设计里面所提到的贫血模型。 + +## 2 Replace Data Value with Object(以对象取代数据值) +软件开发初期,你往往会以简单的基本类型来表示某一概念,随着开发的迭代,这些概念不再是简单的基本类型就能表示的,这时就需要使用Replace Data Value with Object进行重构,封装一个新的对象来取代原有的基本类型数据值。比如重构示例8中,刚开始使用一个字符串来表示“电话号码”的概念,但随后就会发现,电话号码需要“格式化”、“抽取区号”之类的特殊行为,这些就需要将“电话号码”封装成一个对象了。 + +![](image/2021-04-11-22-02-22.png) + +> 更好的方法是在设计阶段对通用语言进行领域建模,并赋予对象业务行为函数,这样可以使复杂的系统更加清晰。 + + +## 3 Replace Type Code with Subclasses(以子类取代类型码) +如果一个类中有一个不可变的类型码,而且它会影响到类的行为,这时就可以以子类来取代这个类型码。一般来说,这种情况的标志就是出现switch或if/else结构,它们检查类型码的值,并根据不同的值执行不同的动作。 + +Replace Type Code with Subclasses的好处在于,它把“对不同行为的了解”从类用户转移到了类自身。如果需要加入新的行为变化,只需添加一个子类即可。如果没有多态机制,就必须找到所有的条件表达式,并逐一修改它们。 + +![](image/2021-04-11-22-02-10.png) +### 重构示例11 +```C +// 重构前 +class Employee { +public: + Employee(int type) : m_type(type) {} + int GetType() + { + return m_type; + } +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +private: + int m_type; +} +``` +```C +// 重构后 +class Employee { +public: + static Employee* Create(int type) + { + switch (type) { + case ENGINEER: + return new Engineer; + case SALESMAN: + return new Salesman; + case MANAGER: + return new Manager; + default: + return nullptr; + } + } + virtual int GetType() = 0; +private: + Employee() = default; +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +} + +class Engineer : public Employee { +public: + int GetType() override + { + return Employee::ENGINEER; + } +} +``` +## 4 Replace Type Code with State/Strategy(以State/Strategy取代类型码) +如果一个类中有一个不可变的类型码,而且它会影响到类的行为,但是无法通过继承手法消除它时,就可以使用Replace Type Code with State/Strategy进行重构。如果是通过重构来简化一个算法,则Strategy模式比较合适;如果是打算搬移与状态相关的数据,而且把新建对象视为一种变迁状态,则State状态比较合适。 + +![](image/2021-04-11-22-01-58.png) +### 重构示例12 +``` +// 重构前 +class Employee { +public: + Employee(int type) : m_type(type) {} + int GetType() + { + return m_type; + } + int PayAmount() + { + switch (m_type) { + case ENGINEER: + return m_monthlySalary; + case SALESMAN: + return m_monthlySalary + m_commission; + case MANAGER: + return m_monthlySalary + m_bonus; + default: + return -1; + } + } +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +private: + int m_type; +} +``` +```C +// 重构后 +class Employee { +public: + Employee(int type) : m_type(EmployeeType::ValueOf(type)) {} + int GetType() + { + return m_type->GetTypeCode(); + } + int PayAmount() + { + switch (GetType()) { + case EmployeeType::ENGINEER: + return m_monthlySalary; + case EmployeeType::SALESMAN: + return m_monthlySalary + m_commission; + case EmployeeType::MANAGER: + return m_monthlySalary + m_bonus; + default: + return -1; + } + } +private: + EmployeeType* m_type; +} + +class EmployeeType { +public: + static EmployeeType* ValueOf(int code) + { + switch (code) { + case ENGINEER: + return new Engineer; + case SALESMAN: + return new Salesman; + case MANAGER: + return new Manager; + default: + return nullptr; + } + } + virtual int GetTypeCode() = 0; +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +} + +class Engineer : public EmployeeType { +public: + int GetTypeCode() override + { + return EmployeeType::ENGINEER; + } +} +``` \ No newline at end of file diff --git a/设计模式/refactor/5 简化条件表达式.md b/设计模式/refactor/5 简化条件表达式.md new file mode 100644 index 00000000..d670c60e --- /dev/null +++ b/设计模式/refactor/5 简化条件表达式.md @@ -0,0 +1,287 @@ +# 5 简化条件表达式 + +## 1 Decompose Conditional(分解条件表达式) +复杂的条件逻辑会降低代码的可读性,通过从if/else if/else三个段落中分别提炼出独立的函数,根据每一段落的用途命名函数,从而更清晰地表达自己的意图。 + +### 重构示例13 + +``` +// 重构前 +if (date.Before(SUMMER_START) || date.After(SUMMER_END)) { + charge = quantity * m_winterRate + m_winterServiceCharge; +} else { + charge = quantity * m_summerRate; +} +``` +```C +// 重构后 +if (NotSummer(date)) { + charge = WinterCharge(quantity); +} else { + charge = SummerCharge(quantity); +} + +bool NotSummer(Date date) +{ + return date.Before(SUMMER_START) || date.After(SUMMER_END) +} + +int WinterCharge(quantity) +{ + return quantity * m_winterRate + m_winterServiceCharge; +} + +int SummerCharge(quantity) +{ + return quantity * m_summerRate;; +} +``` + +## 2 Consolidate Conditional Expression(合并条件表达式) +有时候,一系列的条件分支都得到相同的结果,可以用Consolidate Conditional Expression手法将这些条件分支合为一个条件表达式,并提炼成一个独立的函数。 + +### 重构示例14 +``` +// 重构前 +double DisabilityAmount() +{ + if (m_seniority < 2) { + return 0; + } + if (m_monthsDisabled > 12) { + return 0; + } + if (m_isPartTime) { + return 0; + } + // ... +} +``` +```C +// 重构后 +double DisabilityAmount() +{ + if (IsNotEligibleForDisability()) { + return 0; + } + // ... +} + +bool IsNotEligibleForDisability() +{ + return m_seniority < 2 || m_monthsDisabled > 12 || m_isPartTime; +} +``` +## 3 Consolidate Duplicate Conditional Fragments(合并重复的条件片段) +如果在条件表达式的每个分支上有着相同的一段代码,可以使用Consolidate Duplicate Conditional Fragments将这段重复代码搬移到条件表达式之外。 + +### 重构示例15 +// 重构前 +if(IsSpecialDeal()) { + total = price * 0.95; + Send(); +} else { + total = price * 0.98; + Send(); +} +``` +```C +// 重构后 +if(IsSpecialDeal()) { + total = price * 0.95; +} else { + total = price * 0.98; +} +Send(); +``` +## 4 Remove Control Flag (移除控制标记) +在一系列的条件表达式中,常常存在一个用于判断何时停止条件检查的控制标志。这源于结构化编程原则的“每个子程序只能有一个入口和一个出口”,但这样也降低了代码的可读性。可以通过break/continue/return来替换掉控制标志,提升代码可读性。 + +### 重构示例16 +``` +// 重构前 +void CheckSecurity(vector& peoples) +{ + bool isFound = false; + for (auto& people : peoples) { + if (!isFound) { + if (people == "Don") { + SendAlert(); + isFound = true; + } + if (people == "John") { + SendAlert(); + isFound = true; + } + } + } +} +``` +``` +// 重构后 +void CheckSecurity(vector& peoples) +{ + for (auto& people : peoples) { + if (people == "Don") { + SendAlert(); + break; + } + if (people == "John") { + SendAlert(); + break; + } + } +} +``` + +## 5 Replace Nested Conditional with Guard Clauses(以卫语句取代嵌套条件表达式) +嵌套的if/else语句式造成代码可读性差的罪魁祸首之一,它让人难以看清正常的执行路径。这时,可以通过使用卫语句表现所有特殊情况(最常见的就是对条件进行反转)来消除嵌套的条件表达式,提高代码可读性。 + +### 重构示例17 +``` +// 重构前 +double GetAdjustedCapital() +{ + double result = 0.0; + if (m_capital > 0.0) { + if (m_intRate > 0.0 && m_duration > 0.0) { + result = (m_income / m_duration) * ADJ_FACTOR; + } + } + return result; +} +``` +```C +// 重构后 +double GetAdjustedCapital() +{ + if (m_capital <= 0.0) { + return 0.0; + } + if (m_intRate <= 0.0 || m_duration <= 0.0) { + return 0.0; + } + return (m_income / m_duration) * ADJ_FACTOR; +} +``` + +## 6 Replace Conditional with Polymorphism(以多态取代条件表达式) +该手法有点类似于Replace Type Code with Subclasses,如果有个条件表达式,根据类型码的不同而选择不同的行为。这时可以通过Replace Conditional with Polymorphism,将这个条件表达式的每一个分支放进一个子类内的覆写函数中,然后将原市函数声明为抽象函数。继续以重构示例12中的代码示例为例子,我们采用Move Method将PayAmount()函数迁移到EmployeeType,并以多态来取代在其中的switch语句。 + +### 重构示例18 + +``` +// 重构前 +class Employee { +public: + Employee(int type) : m_type(EmployeeType::ValueOf(type)) {} + int GetType() + { + return m_type->GetTypeCode(); + } + int PayAmount() + { + switch (GetType()) { + case EmployeeType::ENGINEER: + return m_monthlySalary; + case EmployeeType::SALESMAN: + return m_monthlySalary + m_commission; + case EmployeeType::MANAGER: + return m_monthlySalary + m_bonus; + default: + return -1; + } + } +private: + EmployeeType* m_type; +} + +class EmployeeType { +public: + static EmployeeType* ValueOf(int code) + { + switch (code) { + case ENGINEER: + return new Engineer; + case SALESMAN: + return new Salesman; + case MANAGER: + return new Manager; + default: + return nullptr; + } + } + virtual int GetTypeCode() = 0; +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +} + +class Engineer : public EmployeeType { +public: + int GetTypeCode() override + { + return EmployeeType::ENGINEER; + } +} +``` +```C +// 重构后 +class Employee { +public: + Employee(int type) : m_type(EmployeeType::ValueOf(type)) {} + int GetType() + { + return m_type->GetTypeCode(); + } + int PayAmount() + { + return m_type->PayAmount(); + } +private: + EmployeeType* m_type; +} + +class EmployeeType { +public: + static EmployeeType* ValueOf(int code) + { + switch (code) { + case ENGINEER: + return new Engineer; + case SALESMAN: + return new Salesman; + case MANAGER: + return new Manager; + default: + return nullptr; + } + } + virtual int GetTypeCode() = 0; + virtual int PayAmount() = 0; +public: + static constexpr int ENGINEER = 0; + static constexpr int SALESMAN = 1; + static constexpr int MANAGER = 2; +} + +class Engineer : public EmployeeType { +public: + int GetTypeCode() override + { + return EmployeeType::ENGINEER; + } + int PayAmount() override + { + return m_monthlySalary; + } +} +``` +## 7 Introduce Null Object(引入Null对象) +引入Null对象主要是为了消除随处可见的判空逻辑,通过新建一个Null对象,并在原来返回Null的地方改成返回新建的Null对象。 + +![](image/2021-04-11-22-05-41.png) + +> Java 8中新增了一个Optional接口,相对于新建一个Null对象,更推荐使用Optional,除了可以表示Null对象的语义之外,它还提供了很多很强大的功能。C++14中也新增了std::optional,提供了类似的功能。 + diff --git a/设计模式/refactor/6 简化函数调用.md b/设计模式/refactor/6 简化函数调用.md new file mode 100644 index 00000000..a4a2c9e0 --- /dev/null +++ b/设计模式/refactor/6 简化函数调用.md @@ -0,0 +1,126 @@ +# 6 简化函数调用 + +## 1 Introduce Parameter Object(引入参数对象) +在代码中,可能有一组参数总是一起被传递到好几个函数中,这样的一组参数就是所谓的Data Clumps(数据泥团)。最常见的就是指代一个时间范围的startTime/endTime。可以通过Introduce Parameter Object手法,以一个对象取代这些参数。 + +### 重构示例19 + +``` +// 重构前 +class Account { +public: + double GetFlowBetween(Date& startTime, Date& endTime) + { + double result = 0.0; + for (auto& entry : m_entries) { + if (entry.GetDate() == startTime || entry.GetDate() == endTime || + (entry.GetDate().After(startTime) && entry.GetDate().Before(endTime)) { + result += entry.GetValue(); + } + } + return result; + } +} +``` +```C +// 重构后 +class Account { +public: + double GetFlowBetween(DateRange& dateRange) + { + double result = 0.0; + for (auto& entry : m_entries) { + if (dateRange.Includes(entry.GetDate())) { + result += entry.GetValue(); + } + } + return result; + } +} + +class DateRange { +public: + bool Includes(Date& date) + { + return date == m_startTime || date == m_endTime || + (date.After(m_startTime) && date.Before(m_endTime)); + } +private: + Date m_startTime; + Date m_endTime; +} +``` + +## 2 Replace Constructor with Factory Method(以工厂函数取代构造函数) +如果希望在创建对象时不仅仅是做简单的构建动作,可以将构造函数替换为静态工厂函数,并将原来的构造函数设为私有。静态工厂函数不仅在语义上更加符合人的思维,使代码可读性更强,它还能降低对象与对象使用者之间的耦合。比如,后续想要把对象改成单例模式,只需修改一下静态工厂方法,对象的使用者无感知。 + +Java 8新增的接口都采用了静态工厂函数用于创建对象,比如Optional接口、新的时间接口等。 + +## 3 Replace Parameter with Explicit Method(以明确函数取代参数) +如果某个参数有多种可能的值,而函数内又以条件表达式检查这些参数值,并根据不同参数值作出不同的行为,那么就可以使用Replace Parameter with Explicit Method进行重构了。该手法是提供了不同的函数给调用者使用,避免出现条件表达式。 + +### 重构示例20 +``` +// 重构前 +static Employee* Create(int type) +{ + switch (type) { + case ENGINEER: + return new Engineer; + case SALESMAN: + return new Salesman; + case MANAGER: + return new Manager; + default: + return nullptr; + } +} +``` +```C +// 重构后 +static Employee* CreateEngineer() +{ + return new Engineer; +} +static Employee* CreateSalesman() +{ + return new Salesman; +} +static Employee* CreateManager() +{ + return new Manager; +} +``` + +## 4 Remove Setting Method(移除设置函数) +某些类中的某些字段应该在初始化时就确认值,后续都不会在变化。如果这样的字段拥有setter函数,就应该把它去掉,然后把字段设置为const/final。 + +过多无用的getter/setter函数是造成贫血模型的罪恶源头 + +### 重构示例21 +``` +// 重构前 +class Account { +public: + Account(string id) + { + SetId(id); + } + void SetId(string id) + { + m_id = id; + } +private: + string m_id; +} +``` +```C +// 重构后 +class Account { +public: + Account(string id) m_id(id) {} +private: + const string m_id; +} +``` + diff --git a/设计模式/refactor/7 处理继承关系.md b/设计模式/refactor/7 处理继承关系.md new file mode 100644 index 00000000..0172a692 --- /dev/null +++ b/设计模式/refactor/7 处理继承关系.md @@ -0,0 +1,97 @@ +# 7 处理继承关系 +## 1 Pull Up Field(字段上移) +如果两个子类有相同的字段,则将该字段上移至超类中。 + +![](image/2021-04-11-22-10-08.png) + +## 2 Pull Up Method(函数上移) +如果两个子类有相同的函数而且产生完全相同的结果,则将该函数上移至超类。 + +![](image/2021-04-11-22-10-17.png) + +## 3 Extract Superclass(提炼超类) +如果两个类有相似特性,可以为这两个类建立一个超类,将相同特性移至超类。如果继承不合适,可以使用[Extract Class](#Extract Class)来提取重复代码。 + +![](image/2021-04-11-22-10-29.png) + +## 4 Form Template Method(塑造模板函数) +该重构的手法其实就是设计模式中的模板模式,如果有一些子类,其中对应的某些函数以相同顺序执行类似的操作,但在各个操作的细节上有所不同。可以将这些操作分别放到独立的函数中,替换在原函数中原有的操作代码,并上移至超类。 + +### 重构示例22 +``` +// 重构前 +class Site { +public: + virtual double GetBillableAmount() = 0; + // ... +} + +class ResidentialSite : public Site { +public: + double GetBillableAmount() override + { + double base = m_units * m_rate; + double tax = base * Site::TAX_RATE; + return base + tax; + } + // ... +} + +class LifelineSite : public Site { +public: + double GetBillableAmount() override + { + double base = m_units * m_rate * 0.5; + double tax = base * Site::TAX_RATE * 0.2; + return base + tax; + } + // ... +} +``` +```C++ +// 重构后 +class Site { +public: + virtual double GetBaseAmount() = 0; + virtual double GetTaxAmount() = 0; + double GetBillableAmount() + { + return GetBaseAmount() + GetTaxAmount(); + } + // ... +} + +class ResidentialSite : public Site { +public: + double GetBaseAmount() override + { + return m_units * m_rate; + } + double GetTaxAmount() override + { + return GetBaseAmount() * Site::TAX_RATE; + } + // ... +} + +class LifelineSite : public Site { +public: + double GetBaseAmount() override + { + return m_units * m_rate * 0.5; + } + double GetTaxAmount() override + { + return GetBaseAmount() * Site::TAX_RATE * 0.2; + } + // ... +} +``` + +## 5 Replace Inheritance with Delegation(以委托取代继承) +有时候继承会使代码变得复杂,特别是继承层次很深时,这时通过组合来取代继承(用has-a取代is-a)更加合适。如果某个类只使用了超类接口中的一部分或者根本就不需要继承而来的数据,就可以使用Replace Inheritance with Delegation进行重构了。 + +![](image/2021-04-11-22-11-01.png) + +## 6 Collapse Hierarchy(折叠继承体系) +如果超类和子类实现的功能没有太大的差别,则使用Collapse Hierarchy将它们合并成一个类。 \ No newline at end of file diff --git a/设计模式/refactor/image/2021-04-11-20-50-57.png b/设计模式/refactor/image/2021-04-11-20-50-57.png new file mode 100644 index 0000000000000000000000000000000000000000..252f786750d0b8ab15d24b7e53b1c021ec9afaa8 GIT binary patch literal 3383 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 literal 0 HcmV?d00001 diff --git a/设计模式/refactor/image/2021-04-11-21-59-29.png b/设计模式/refactor/image/2021-04-11-21-59-29.png new file mode 100644 index 0000000000000000000000000000000000000000..cf76b08e36993f7767f4e57c791f9f13f2f7e3d7 GIT binary patch literal 16331 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 KzgD%5_`d*WLcR(B literal 0 HcmV?d00001 diff --git a/设计模式/refactor/image/2021-04-11-22-01-58.png b/设计模式/refactor/image/2021-04-11-22-01-58.png new file mode 100644 index 0000000000000000000000000000000000000000..ceed139a5914f784bce110ebaadc61b6c24bf840 GIT binary patch literal 10725 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 KMU*@+3H)!rkWNwn literal 0 HcmV?d00001 diff --git a/设计模式/refactor/image/2021-04-11-22-05-41.png b/设计模式/refactor/image/2021-04-11-22-05-41.png new file mode 100644 index 0000000000000000000000000000000000000000..7e76d2a5ab3ad4ac8f942d0473512e2dde4630d3 GIT binary patch literal 6880 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 literal 0 HcmV?d00001 diff --git a/设计模式/refactor/image/2021-04-11-22-10-08.png b/设计模式/refactor/image/2021-04-11-22-10-08.png new file mode 100644 index 0000000000000000000000000000000000000000..6ad4c5df3ba2f7a50c7480dbc34592bf5a720aec GIT binary patch literal 11270 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 TO=8&H#k!%Uty-aM5%PZkr})ba literal 0 HcmV?d00001 diff --git a/设计模式/refactor/image/2021-04-11-22-10-17.png b/设计模式/refactor/image/2021-04-11-22-10-17.png new file mode 100644 index 0000000000000000000000000000000000000000..d4cd04c3db82168248fb7e962c8ececac4cc06c3 GIT binary patch literal 25565 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∾ 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 jE83X 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 c|#9)A11~Sy`3Fa=T5yGC4XA0Ex}4 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 Bdo2I} literal 0 HcmV?d00001 diff --git a/设计模式/refactor/重构规划书.md b/设计模式/refactor/重构规划书.md deleted file mode 100644 index ee2b42f4..00000000 --- a/设计模式/refactor/重构规划书.md +++ /dev/null @@ -1,18 +0,0 @@ -# SimuRosot项目重构规划书 - -## 1 重构的目标 - -- 增强可读性(**自动生成项目的说明文档**) -- 增强可扩展性,降低模块的耦合和代码的冗余。面向对象、接口。 -- 增强可修改性,方便代码进行修改和扩展。 - -## 2 重构的流程 - -- [ ] 重读设计模式和架构设计。使用更好的架构和模块设计方案。(给出一个**架构设计说明书**)。 -- [ ] 了解重构工具和重构的方法。熟练掌握C++项目重构过程。 -- [ ] 熟读源代码,对架构设计说明书进行增删修改。完成最终的架构设计说明书。 -- [ ] 使用vs对**项目**架构进行重构。 - -> 方案1:主要还是重新设计项目,把项目内的其他代码赋值黏贴出来。让它成为一个新的能够运行的小项目。 -> -> 方案2:重新设计项目,然后在原有的代码上进行重构。 \ No newline at end of file diff --git a/设计模式/refactor/附录1 代码重构理论.md b/设计模式/refactor/附录1 代码重构理论.md new file mode 100644 index 00000000..87c96df3 --- /dev/null +++ b/设计模式/refactor/附录1 代码重构理论.md @@ -0,0 +1,134 @@ +# 重构 +> 参考文献 +> * [https://www.cnblogs.com/ranjiewen/p/5912259.html](https://www.cnblogs.com/ranjiewen/p/5912259.html) +> * [https://blog.csdn.net/ruanrunxue/article/details/102945431](https://blog.csdn.net/ruanrunxue/article/details/102945431) +## 1 什么是重构? + +### 重构的定义 + +Martin Fowler在《重构:改善既有代码的设计》一书中给出了重构的两个定义. + +* 第一个是名词形式:Refactoring: 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本. +* 第二个是动词形式:Refactor: 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构. + +### 重构的目标 +重构的目标是什么? 重构的目标绝不是将代码从别人的taste改成自己的taste,也不是将代码从一种坏味道改到另一种坏味道!Matin Fowler利用上面两个定义,指出了重构的目标: +1. 不改变软件可观察行为 +2. 提高软件可理解性 +3. 降低软件修改成本 + +而对于上述目标,我们再深入一点分析,发现其实已经有更经典的定义. 那就是Kent Beck的简单设计四原则: + +1. Pass All Test: 通过全部测试; +2. No Duplication: 没有重复(DRY) +3. Reveals Intent: 程序表达意图,易于理解 +4. Has no superfluous parts: 没有冗余,或者YAGNI原则 + +上述四条的重要程度依次降低.到目前为止,简单设计四原则是对”什么是好的软件设计”最好的定义! + + +## 2 从哪里开始? + +### 重构的原因 +对于重构的目标达成一致后,我们回到起点:什么样的软件需要重构? 以及什么时候进行重构? + +对于第一个问题,由于我们重构的目标是使软件满足简单设计四原则,那么任何违反简单设计四原则的代码都应该是我们重构的目标.例如1)代码很容易出现bug,导致测试失败! 或者 2)代码存在知识重复使得不易修改! 或者 3)代码写的晦涩非常难以理解! 或者 4)代码存在过度设计,存在冗余导致复杂! + +现实中可能有一堆的代码问题等待我们解决,而时间、成本、人力是有限的,所以我们需要从最有价值,最没有争议的部分开始重构. 由于简单设计四原则的重要程度是依次降低的,对于四条原则的判定从上往下也是逐渐主观化,所以我们选择重构的代码的优先级顺序也是按照它们破坏简单四原则的顺序依次降低! 如果一坨代码存在很多重复,另外一坨代码不易理解,那么我们优先选择去解决重复代码的问题,因为按照简单四原则消除重复更重要,也更容易被客观评价. + +在《重构》一书中Martin为了避免引起所谓编程美学的含混争辩,总结了代码的22条坏味道. 在实践中我们一般都是从某一代码坏味道着手重构的,但是对于优先重构哪个坏味道,我们遵守上面描述的原则. + +### 重构的时机 +对于进行重构的时机,Matin给出: + +1. 重复地做某一件事情的时候 (三次法则) + +1. 添加新功能的时候 + +2. 修改Bug的时候 + +3. Code Review的时候 + +事实上在我的工作过程中,重构是随时随地进行的. 尤其对于采用演进式设计方法论,重构和代码开发是紧密结合难以分割的,甚至很多时候只有依托重构才能完成代码的开发. + +### 重构的手法 +明白了起点和目标,下来最重要的就是掌握完成这一过程的手段! 而重构的手法则是带领我们正确到达目标的工具. + +很多人认为学习重构只要掌握背后的思想就足够了,其详细繁琐的操作手法并不重要.于是乎现实中我们看到很多人在实际操作重构的过程中章法全无,一旦开始半天停不下来,代码很多时候处于不可编译或者测试不能通过的状态,有时改的出错了很难再使代码回到初始状态,只能推倒重来! 实际上重构是一项非常实践性的技术,能够正确合理地使用重构操作,安全地,小步地,高效地完成代码修改,是评价重构能力的核心标准. + +那么什么才是正确的重构手法? + +Martin对重构的第二个定义中提到使用一系列的重构手法,但是对这一系列的重构手法却没有概括. + +而William Opdyke在他的论文”Refactoring Objected-Oriented Frameworks”里面对重构给出了如下定义: + +重构:行为保持(Behavior Preservation)的程序重建和程序变换. + +在论文里面将重构手法定义为一些程序重建或者程序变换的操作,这些操作满足行为保持(Behavior Preservation)的要求. 论文里面对行为保持的定义如下: + +Behavior Preservation : For the same set of input values,the resulting set of output values should be the same before and after the refactoring. + +也就是说存在一系列代码变换的操作,应用这些操作之后,在相同的输入条件下,软件的输出不会发生变化. 我们把满足上述要求的代码操作称之为代码等价变换操作. 在William Opdyke的论文中针对C++提出了26种低层次的代码等价变换操作(例如: 重命名变量,为函数增加一个参数,删除一个不被引用的类…). 按照一定设计好的顺序组合上述低层次的代码等价变换操作,我们可以完成一次安全的代码重构,保证代码重构前后的行为保持要求. + +这里代码等价变换的过程. 类似于初等数学中的多项式变换.例如对于如下公式变化: + +![](image/2021-04-11-20-50-57.png) + +每一步我们运用一次多项式等价变换公式,一步一步地对多项式进行化简,每次变换前后多项式保持等价关系. + +在多项式化简的这个例子中,承载简化过程的是已经被数学证明过的多项式等价变换的公式. 同理承载重构的则是被证明过的一个个代表代码等价变换操作的重构手法. + +另外,由于完成一项重构需要使用一系列的重构手法,这些手法的使用顺序也是至关重要的! + +我们学习重构,就是要来学习每种场景下所使用的小步安全的重构手法及其使用顺序,并不断加以练习! 能够灵活而流畅地使用一系列重构手法完成一项重构,是衡量重构能力的一个非常重要的指标. + +而本文后面的一个重点就是对常用的重构手法以及运用顺序进行提炼,降低大家的学习难度. + +最后,既然重构中使用的是安全小步的代码等价变换手法,为什么我们还需要测试? 首先是因为我们是人,我们总会犯错! 另外由于编程语言的复杂性导致所谓的等价变换是受上下文约束的,例如在C++中为一个存在继承关系的类的成员方法重命名,有可能导致新的方法名和它某一父类中有默认实现的虚方法重名,而即使编译器也不能发现该错误. + +### 高效地重构 +虽然我们了解了如何/何时开始,目标,以及重构的手法,但是如果我们有了下面这些因素的辅助,会让我们更加安全和高效. + +1. 覆盖良好高效的自动化测试 +2. 合适的IDE,最好提供基本的自动化重构菜单 +3. 良好的工程设置 +4. 高效的构建环境 +5. 良好的编码习惯 + +对于上面这些,不同语言面临的现状不同,针对C++语言我们后面会专门总结. + +### 哪些不是重构? +针对上面的讨论,我们站在严格的重构定义上来看看下面这些反模式: + +“我把bug重构掉了!” + +“Debug一下刚才的重构那里出错了” + +“昨晚重构出来的Bug到现在还没有查出来” + +“先把代码重构好,再看测试为啥不过” + +“我把软件架构由集中式重构成分布式了” + +想想上面的场景哪里存在问题? + +在实际的开发过程中,我们还经常面临另外一种场景,那就是对某一已经开发完成的软件模块进行整体重构. 在这样的过程中,虽然也存在频繁地使用重构手法对原有模块代码进行修改,但是更多的是进行大量的架构和设计方案上的修改.为了与我们要讨论的重构进行区分,对于这样的过程,我们称其为reengineering(软件重建). + +软件重建一般是站在之前开发、测试的基础上,伴随着对软件要解决的问题和解决方式本身有了更深入的理解,通过修改软件把这些学习成果反映到软件的结构中去,使得软件可以更好、更精炼的解决业务问题。站在DDD(领域驱动设计)的角度,软件重建一般是对领域模型的进一步精练,使得软件更加贴合业务的本质!虽然成功的软件重建往往能对组织带来较大的收益,但是由于软件重建的开销普遍较大,而软件开发又是一项商业活动,所以需要对软件重建谨慎评估其成本收益比以及过程风险后才能决定是否启动。而本文中的重构技术,则只是一项日常编码中频繁使用的安全、高效的代码修改技术,被普遍认为是现代软件开发技术中必备的一项基本技能,是演进式软件设计或者软件重建目标达成的一项必要手段! + +### 关于本文 +我们总结一下,重构有三个要点,见下图: + +![](image/2021-04-11-20-52-27.png) + + + +你要有一个敏感的鼻子,能够嗅出代码中的坏味道; 一般只要发现不符合简单设计四原则的Code,就是我们需要重构的目标对象. 而Martin总结的22条代码坏味道给我们一个很好的实践起点. + +你要知道重构的目标,就是让代码逐渐靠近简单设计四原则. + +需要掌握小的安全的重构手法,以及在不同场景下合理的使用顺序,以便安全高效地承载重构目标的达成. + + + +由于重构手法和实施顺序是学习重构的关键,所以本文后面会重点讲述这个主题. 另外,在实践中如何高效和安全的进行重构,和具体使用的编程语言及其开发、构建、测试环境关系也很密切.本文最后会针对C++语言总结这方面相关问题. \ No newline at end of file diff --git a/设计模式/refactor/附录2 C++代码重构工具.md b/设计模式/refactor/附录2 C++代码重构工具.md new file mode 100644 index 00000000..e69de29b diff --git a/设计模式/refactor/附录3 重构规划书.md b/设计模式/refactor/附录3 重构规划书.md new file mode 100644 index 00000000..fb6e6f3c --- /dev/null +++ b/设计模式/refactor/附录3 重构规划书.md @@ -0,0 +1,53 @@ +# SimuRosot项目重构规划书 + +## 1 重构的目标 + +- 增强可读性(**自动生成项目的说明文档**) +- 增强可扩展性,降低模块的耦合和代码的冗余。面向对象、接口。 +- 增强可修改性,方便代码进行修改和扩展。 + +## 2 重构的流程 + +- [ ] 重读设计模式和架构设计。使用更好的架构和模块设计方案。(给出一个**架构设计说明书**)。 +- [ ] 了解重构工具和重构的方法。熟练掌握C++项目重构过程。 +- [ ] 熟读源代码,对架构设计说明书进行增删修改。完成最终的架构设计说明书。 +- [ ] 使用vs对**项目**架构进行重构。 + +> 方案1:主要还是重新设计项目,把项目内的其他代码赋值黏贴出来。让它成为一个新的能够运行的小项目。 +> +> 方案2:重新设计项目,然后在原有的代码上进行重构。 + + +## 3 重构的原则 + +1. 分层设计。上层对下层依赖。层内部不允许依赖。 +2. 控制反转。使用register机制,将对象注册到core中,计算执行。 +3. 决策树。减少strategy过程中if-else的逻辑。 +4. 高内聚低耦合。减少类之间的依赖,增强类内部的函数依赖。 +5. 文档生成与规范化。 +6. 运行时数据依赖与静态数据依赖,进行分离。比如历史数据应该由单独的模块进行管理。 + + +## 4 重构的设计 +### 纵向模块 +1. 策略层 + 1. Strategy模块 + 2. Result模块 +2. 击球动作层 +3. 跑位动作层 +4. 分析层 + 1. BallPrediction模块 +5. 数据层 + 1. Log模块(数据持久化、 + 2. Compute模块(动态数据计算,用来表示当前的状态、 + 3. Court模块(静态数据常量,用来保存场地信息、 + 4. History模块(历史数据记录,用来表示历史状态、 +### 横向模块 + +1. 依赖注入层 +2. 核心层 + 1. 接口封装模块 + 2. 初始化 + 3. 策略执行 + 4. 策略控制 + 5. 清理 \ No newline at end of file