• 第2章 重构原则


    何谓重构

    1.概念:作为名词时 → 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。

               作为动词时 → 使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

    2.两顶帽子:用重构技术开发软件时的“两顶帽子”,即添加新功能以及重构。添加新功能,就不应该修改既有代码,正在重构时,就不应该添加新功能,这两顶帽子可能经常变换,但要每次操作时搞清楚自己现在戴的是哪一顶。

    为何重构

    1.重构可以改进软件设计

    2.重构使软件更容易理解

    3.重构帮助找到bug,写出强健的代码

    4.重构提高编程速度

    何时重构

    1.三次法则:事不过三,三则重构。也就是说第一次做某事只管去做,第二次做类似的事会有些反感,但无论如何还是可以去做,第三次再做类似的事时,就应该重构。

    2.添加功能时重构:重构一是为了能帮我理解要修改的代码;二是当代码的设计,无法帮助我轻松添加我需要的特性,但我发现如果重构后这是最快途径,一旦完成重构,新特性的添加会更快更流畅,那么也会选择重构。

    3.修补错误时重构

    4.复审代码时重构

    重构的必要性

    目前有四个原因让人觉得代码难以相与:

    1.难以阅读的程序,难以修改。

    2.逻辑重复的程序,难以修改。

    3.添加新行为时,需要修改已有代码的程序,难以修改。

    4.带复杂条件逻辑的程序,难以修改。

    我们希望的程序:

    1.容易阅读

    2.所有逻辑都只在唯一地点指定

    3.新的改动不会影响现有行为

    4.尽可能简单地表达条件逻辑

    而重构,就是一条摆脱困境的道路,它能在不改变行为的前提下使其具备上述美好性质,使我们能够继续保持高速开发,从而增加程序的价值。

    重构相关

    一、修改接口

    1.在重构接口时,千万不要复制接口实现,这会让你陷入重复代码的泥沼之中。

    2.当重构好之后,调用新接口时,留下旧接口,但不要发布接口

    二、重构与设计

    1.预先设计,尽量避免以后重构

    2.先找到一个稍稍合理地方案,就直接开干,干完后或者中途觉得有问题时,就进行重构(这也是我经常用的)

  • 相关阅读:
    SQL基础复习03--数据查询SQL语句(单表查询)
    SQL基础复习02--数据操纵SQL语句
    数据结构与算法01--复杂度
    SQL基础复习01--SQL基础与数据定义SQL语句
    Azure Data Studio的初步了解与使用
    ASP.NET Core Web API 使用DynamicLinq实现排序功能
    Vue3-说说Vue 3.0中Treeshaking特性?举例说明一下?
    JavaScript高频手写面试题
    Java常用文件操作-1
    Java 架构师之路(2)
  • 原文地址:https://www.cnblogs.com/wencheng9012/p/13496124.html
Copyright © 2020-2023  润新知