zoukankan      html  css  js  c++  java
  • 第2章 重构原则

    何谓重构

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

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

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

    为何重构

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

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

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

    4.重构提高编程速度

    何时重构

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

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

    3.修补错误时重构

    4.复审代码时重构

    重构的必要性

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

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

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

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

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

    我们希望的程序:

    1.容易阅读

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

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

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

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

    重构相关

    一、修改接口

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

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

    二、重构与设计

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

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

  • 相关阅读:
    Redux基础使用
    react native 第三方组件react-native-swiper 轮播组件
    React native中的组建通知通信:
    更新:在MAC上安装RN开发环境的步骤(全)
    React Native组件之BackAndroid !安卓手机的物理返回键的使用
    使用redux简单的实现加法运算(简单的状态改变)
    【HTML+JavaScript(jQuery)】实现侧边栏下拉菜单
    第四章 前端开发——JQuery库
    【HTML+CSS+JavaScript】实现地址选择联动
    【HTML+CSS+JavaScript】实现待办事项(纯DOM实现)
  • 原文地址:https://www.cnblogs.com/wencheng9012/p/13496124.html
Copyright © 2011-2022 走看看