zoukankan      html  css  js  c++  java
  • 笔记:重构

    重构封面

    http://book.douban.com/subject/4262627/

    这本书主要介绍了需要重构的情况、出现这些情况可以用到的方法以及,动手重构之前需要有单元测试。 

    需要重构的情况:

    DuplicatedCode(重复代码)
    LongMethod(过长函数)
    LargeClass(过大的类)
    LongParameterList(过长参数列)
    DivergentChange(发散式变化)
    ShotgunSurgery(霰弹式修改)
    FeatureEnvy(依恋情结)
    DataClumps(数据泥团)
    PrimitiveObsession(基本类型偏执)
    SwitchStatements(switch惊悚现身)
    ParallelInheritanceHierarchies(平行继承体系)
    LazyClass(冗赘类)
    SpeculativeGenerality(夸夸其谈未来性)
    TemporaryField(令人迷惑的暂时字段)
    MessageChains(过度耦合的消息链)
    MiddleMan(中间人)
    InappropriateIntimacy(狎昵关系)
    AlternativeClasseswithDifferentInterfaces(异曲同工的类)
    IncompleteLibraryClass(不完美的库类)
    DataClass(纯稚的数据类)
    RefusedBequest(被拒绝的遗赠)
    Comments(过多的注释)

    要点:

    1. 如果在原来的代码基础上添加新特性有困难,那么先重构再添加新特性。
    2. 重构前必须有单元测试。
    3. 任何一个傻瓜程序员都可以写计算机可以理解的代码。 写出人类可以理解的代码才是优秀的程序员。
    4. 事不过三,三则重构。
    5. 如果觉得需要注释,先尝试重构。
    6. 如果有 bug, 先写一个单元测试来暴露这个 bug.
    7. 考虑边界条件。
    8. 别忘了检查在该出问题的地方是否抛出了异常。
  • 相关阅读:
    GO-GRPC实践(二) 增加拦截器,实现自定义context(带request_id)、recover以及请求日志打印
    第六章-堆
    第五章-本地方法接口和本地方法栈
    第四章-虚拟机栈
    第三章-运行时数据区及程序计数器
    04-再谈类的加载器
    03-类的加载过程(类的生命周期)详解
    1.编程入门
    SpringBoot 整合 SpringSecurity 梳理
    pip版本过低无法升级问题
  • 原文地址:https://www.cnblogs.com/vivizhyy/p/3503987.html
Copyright © 2011-2022 走看看