![](https://img-blog.csdnimg.cn/20200915214945959.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
重构-改善既有代码的设计
该专栏为自己阅读《重构》这本书自己的理解,一来作为个人的阅读笔记,二来也希望能帮到你
bug大爆炸
程序员是个注定活到老学到老的职业,既然不能逃避学习,何不积极面对学习,早晚都要走的路不如早点走,让更多的人看到自己的足迹前进也是一件很有意义的事情呢
展开
-
重构手法--对象间
重构手法–对象间其实很多重构手法都是成对出现的,需要根据使用场景进行正向或逆向的重构,以达到提高代码可阅读性、增强代码复用性和可扩展性的目的Move Method(搬移函数)你的程序中,有个函数与其所驻类之外的另一个类进行更多交流:调用后者,或被后者调用在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或是将旧函数完全移除重构前的代码:class Account{ private AccountType _type; private int _daysOve原创 2020-10-05 00:18:22 · 538 阅读 · 0 评论 -
重构手法--对象内
重构手法–对象内Extract Method(提炼函数)将一段需要加注释的函数放进一个独立函数中,并让函数名称解释该函数的用途,因为函数约简短被复用的机会就越大。重构前的代码:void printOwing(){ Enumeration e = _order.elements(); double outstanding = 0.0; //print banner System.out.println("*************************"); System.out.pr原创 2020-10-05 00:03:23 · 170 阅读 · 0 评论 -
代码的坏味道
代码的坏味道Duplicated Code(重复代码)同一个类的两个函数含有相同的表达式或互为兄弟的子类内含有相同表达式Long Method(过长函数)拥有短函数的对象会活的比较好、比较长遵循的原则:每当感觉需要以注释来说明点什么的时候,我们就把需要说明的东西写进一个独立函数中,并以其用途(而非实现手法)命名Large Class(过大的类)过大的类往往影响阅读,且其中必定含有可分解提炼的方法,Long Parameter List(过长参数列)将来自同一对象的一堆数据收集起来Dive原创 2020-10-04 23:57:28 · 203 阅读 · 0 评论 -
什么是重构
什么是重构在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构第一个案例三个类:电影、顾客、租赁重构前的代码:public class Movie { public static final int CHILDRENS = 2; //儿童电影 public static final int REGULAR = 0; //常规电影 public static final int NEW_RELEASE = 1; //新版电影 privat原创 2020-10-04 23:39:19 · 284 阅读 · 0 评论