重构第0天--重构的理解

  最近有幸,发现一个博友的博客中对代码重构,做了一番简单的讲解。觉得很不错,比较浅显移动,一口气读完了。今天通过自己的理解,翻译一下,可能有很多不对的地方,请大家指正。共同学习,共同进步。

  原博客地址:https://lostechies.com/seanchambers/2009/07/31/31-days-of-refactoring/  

  随着时间的推移,重构是提升代码质量不可或缺的一部分。没有重构,慢慢的就会积累很多的技术债务。忘记代码的实现部分,首先建立代码的测试部分。这就比较像TDD(测试驱动开发)。这个概念其实很简单,就是通过写测试单元,来构建

更健壮的,bug更少的代码。关于TDD测试驱动开发,虽然概念简单,但是内容还是比较多的,大家可以看看关于测试驱动开发部分的相关资料。

         由于重构的重要性,我用31天这样一个概念来共同学习一下。我会通过自己的理解来讲述,可能存在喝多歧义和正确性。在我实际写完博客之前,我不会先列出一个列表来展示后面的内容。每当我写完一章,我会及时在这里更新连接。

        重构的主要内容来自Refactoring.com,有一部分来自于Code Complete 2nd Edition(代码大全),剩下的一部分来自于我在工作中的总结。我觉得这些内容来自哪里,并不是最重要的,或许你在其他的博客和书上能够看到相同的重构名称。

        明天开始我会持续写完这个专题,希望大家能够从中学到关于重构的一些东西,也希望大家指正错误,共同学习。

          Day1:封装集合  http://www.cnblogs.com/yplong/p/5276598.html

          Day2:方法搬移  http://www.cnblogs.com/yplong/p/5278394.html

      Day3:方法提公  http://www.cnblogs.com/yplong/p/5278506.html

      Day4:方法降低  http://www.cnblogs.com/yplong/p/5285371.html

          Day5:提升字段  http://www.cnblogs.com/yplong/p/5285427.html

          Day6: 降低字段  http://www.cnblogs.com/yplong/p/5285457.html

          Day7: 重命名     http://www.cnblogs.com/yplong/p/5289612.html

          Day8:  使用委托来代替继承  http://www.cnblogs.com/yplong/p/5295866.html

          Day9:提取接口  http://www.cnblogs.com/yplong/p/5300096.html

          Day10:提取方法  http://www.cnblogs.com/yplong/p/5300144.html

          Day11:策略模式代替Switch  http://www.cnblogs.com/yplong/p/5308648.html

          Day12:依赖分解  http://www.cnblogs.com/yplong/p/5318576.html

             Day13:抽取方法对象 http://www.cnblogs.com/yplong/p/5362434.html

             Day14:职责分离 http://www.cnblogs.com/yplong/p/5362567.html

             Day15:移除重复代码 http://www.cnblogs.com/yplong/p/5362603.html

              Day16 封装条件语句 http://www.cnblogs.com/yplong/p/5362663.html

             Day17:抽取父类 http://www.cnblogs.com/yplong/p/5373012.html

             Day18:用条件语句代替异常 http://www.cnblogs.com/yplong/p/5373025.html

             Day19 提取工厂类 http://www.cnblogs.com/yplong/p/5373045.html

             Day20 提取子类 http://www.cnblogs.com/yplong/p/5373076.html

             Day21 封装继承 http://www.cnblogs.com/yplong/p/5373095.html

      Day22 分解方法 http://www.cnblogs.com/yplong/p/5374000.html

             Day23  引入参数  http://www.cnblogs.com/yplong/p/5374015.html

             Day24  分解复杂的判断 http://www.cnblogs.com/yplong/p/5374031.html

             Day25 引入契约设计 http://www.cnblogs.com/yplong/p/5374050.html

             Day26 移除双重否定 http://www.cnblogs.com/yplong/p/5381369.html

             Day27 去除上帝类 http://www.cnblogs.com/yplong/p/5381398.html

             Day28 给bool方法命名 http://www.cnblogs.com/yplong/p/5381432.html

             Day29 去除中间人 http://www.cnblogs.com/yplong/p/5381455.html

             Day30 尽快返回 http://www.cnblogs.com/yplong/p/5381475.html

             Day31使用多态代替条件语句 http://www.cnblogs.com/yplong/p/5381497.html

posted @ 2016-03-14 17:35  IT少年  阅读(845)  评论(0编辑  收藏  举报