• 重构


    代码的坏味道

    拆分函数,一个功能集中在一起,形成一个新函数(提炼)

    少用临时变量,如调用方法产生的返回值直接写

    条件表达式和循环常常也是提炼的信号

    减少参数个数,使用对象

    尽量使用对象,如有一个起始值和一个结束值组成的Range类

    使用多态替换switch

    对于没用的组件,应该以内部类

    如果每个函数的粒度都很小,那么函数被复用的机会就更大,其次,这会使高层函数读起来就像一系列注释,再次,如果函数都是细粒度,那么函数覆写也会更容易些

    函数名称和函数本体之间的语义(它做什么)

    如果手上有一群组织不甚合理的函数,你可以将它们都内联到一个大型函数中,再从中提炼出组织合理的小型函数。

    去掉临时变量:return anorderbasePrice()>1000

    重构时先不要考虑性能

    查询代替临时变量

    如果程序中有某临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果,针对每次赋值创建一个独立对应的临时变量。

    不要对参数赋值

     

            

    但是不要再构造函数中使用设值函数

     

    解除关系

     

    取值函数不该返回集合自身,因为这会让用户得以修改集合内容而集合拥有者却一无所知。Collections.unmodifiableList()方法使一个集合只读

    封装包含集合的类,包含对集合增加、删除、获取长度的函数

    封装数组:

     

    以类代类型码:

     

    以字段取代子类:各个子类的唯一差别只在“返回常量数据”的函数身上

  • 相关阅读:
    这难道就是一个普通人的一生???
    【纪念】纪念随笔数上3位数
    【移动端】js禁止页面滑动与允许滑动
    【react懒加载组件】--react-lazyload
    ES6知识整理(7)--Set和Map数据结构
    Hibernate检索策略
    Hibernate HQL多表查询
    Hibernate各种查询操作(二)
    Hibernate各种查询操作(一)
    Hibernate多对多操作
  • 原文地址:https://www.cnblogs.com/dapeng520/p/4541354.html
Copyright © 2020-2023  润新知