TOP

什么是重构?

YouLibreCalc for Excel logo

描述

重构 (Refactoring) – 对软件(软件)的内部结构进行的更改,使其更容易理解并更快地修改而不改变外部行为。此外,它是通过应用一系列重构来重构软件,而不改变软件的外部行为。


重构的优点:

当你需要进行重构时:

代码中的异味 (Smells Catalog) :

可能的重构选项

  1. Moving Features Between Objects (对象之间传输完整代码):

    • Move Method (突出显示方法) – 如果方法太长或包含需要注释的代码,则隔离一个单独的方法。
    • Move Field (时间场) – 当另一个类使用该字段比该字段的定义更频繁时执行。
  2. Organizing Data (资料时间):

    • Encapsulate Field (现场包装) - OOP的主要原则之一是封装或数据隐藏,通过开放数据,对象可以在数据所有者不知情的情况下读取和更改其值,因此,我们将关闭这样的字段并提供访问方法。
    • Encapsulate Collection (套装套装) - 课堂上经常有一些模板,集合可以是数组、列表、集合或向量。 getter 方法不返回集合对象本身,因为这将允许客户端在不知道的情况下修改集合的内容。因此,需要将方法返回的值设置为只读,并创建一个添加/删除元素的方法。
  3. Composing Methods (提取并组合代码):

    • Extract Method (突出显示方法) - 如果有一段代码可以分组,那么将代码放在单独的方法中,方法的名称可以在单独的方法中解释。
    • Inline Method (嵌入法) – 有时将方法移至其代码的调用中非常有用,将它们全部放入一个公共方法中,然后以另一种方式将这些方法分开。
    • Inline Temp (插入临时变量) – 仅用简单表达式的临时变量替换一次。
    • Replace Temp with Query (用计算手机手机手机最机可以) – 当临时变量用于存储表达式的值时使用,在这种情况下,我们将用方法替换表达式,并用新方法替换代码中对该变量的所有引用。
    • Split Temporary Variable (分割临时变量) – 如果使用单个临时变量将多个结果分配给不同的结果,则适用(除非它是在循环内的循环中使用的变量,并且它不是用于累积结果的变量)。都为每个属性创建一个单独的变量。
  4. Simplifying Conditional Expressions (带这个电影电影电视):

    • Decompose Conditional (操作条件符的分解) – 当我们有检查链接的条件(if-then-else)时,我们实现一个单独的方法来替换条件(if)、then 的一部分以及相应的代码段的使用。
    • Consolidate Conditional Expression (表达条件的巩固) - 如果多个条件检查给出相同的结果,则需要将所有检查合并到一个条件表达式或方法中。
    • Consolidate Duplicate Conditional Fragments (技术以下的安全电影) – 表达式的条件是同一段中的所有分支,您需要将此代码转移到表达式中。
    • Remove Control Flag (删除控件标志) – 有一个变量变量承载一系列逻辑表达式的控制标识。我们使用 BREAK 或 RETURN 来会生。
    • Replace Conditional with Polymorphism (用多态性优语实方性电影符) – 当行为取决于对象类型的条件时,将执行该行为。