zoukankan      html  css  js  c++  java
  • 重构

    代码的坏味道

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

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

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

    减少参数个数,使用对象

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

    使用多态替换switch

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

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

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

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

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

    重构时先不要考虑性能

    查询代替临时变量

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

    不要对参数赋值

     

            

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

     

    解除关系

     

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

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

    封装数组:

     

    以类代类型码:

     

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

  • 相关阅读:
    编译安装LAMP之php-5.4.13、xcache-2.0及使用ab命令实现压力测试
    编译安装LAMP之MySQL-5.5.28(通用二进制格式)
    编译安装LAMP之httpd-2.4.4
    建立LAMP平台
    MySQL初步,数据类型及SQL语句
    数据库及MySQL
    PHP相关概念及配置
    CSS:页面美化和布局控制
    HTML标签:表单标签
    web概念简述,HTML学习笔记
  • 原文地址:https://www.cnblogs.com/dapeng520/p/4541354.html
Copyright © 2011-2022 走看看