博客专栏  >  编程语言   >  大话重构

大话重构

重构不是一个阳春白雪的高级玩意儿,它是一种习惯,一种良好的编程习惯。这种习惯让我们迅速由菜鸟转变为大牛,可以编写出高质量、优秀的程序;它是遗留系统的一剂良药,它改变了我们的设计思路,让我们不再为不确定的将来过度设计,让设计回归简单与纯真。而这里正是学习“重构”这种优秀设计的家园。

关注
0 已关注
22篇博文
  • 大话重构连载19:大对象的演化过程

    很好,我们终于迈出了重构的第一步,而这第一步我们瞄准了代码问题的重灾区——超级大函数。超级大函数之所以是代码问题的重灾区,就是因为它们往往难于阅读、难于维护。面对大函数我们采取的办法是拆分,以功能为核...

    2014-11-17 09:36
    822
  • 大话重构连载18:最常见的问题

    使用抽取方法,虽然道理十分简单,但实际操作起来却并不是那么容易的。完成抽取方法最大的困难,就是如何处理抽取函数与原函数的数据交换。如同将一颗大树从土壤里拔出来,盘根错节的根茎,那是剪不断理还乱。当代码...

    2014-11-02 17:24
    724
  • 大话重构连载17:抽取方法的实践

    说了那么多理论,我们来看看怎样使用抽取方法来重构遗留系统。如前所述,重构的过程首先是阅读程序代码,边阅读边整理程序。将功能相对独立的代码段放在一起,在前面加上注释。调整一些程序的顺序,将相关的代码尽量...

    2014-10-29 09:25
    794
  • 大话重构连载16:超级大函数

    事情总是这样的:当我们对一个遗留系统一忍再忍,再忍,忍,还要忍……终于积攒到某一天,实在忍无可忍了,拍案而起,不能再忍了,重构!!!事情就这样发生了。然而,在这时你突然发现,重构的工作千头万绪,真不知...

    2014-10-18 22:55
    761
  • 大话重构连载15:采用Mock技术完成测试

    第五次重构我们引入了数据库的设计,用户信息要从数据库中读取,问候语库存储在数据库中,并支持添加与更新。数据库的引入使自动化测试变得困难了,因为数据状态总是变化着的,而这种变化使得测试过程不能复现,这是...

    2014-09-21 12:53
    822
  • 大话重构连载14:我们是这样自动化测试的

    说了那么多,让我们用示例看看,系统重构是应该怎样做自动化测试的。还是回到前面那个HelloWorld的例子(详见 3.3 小步快跑是这样玩的),该类中有一个sayHello()方法,只要我们输入当前的...

    2014-09-18 01:06
    895
  • 大话重构连载13:自动化测试——想说爱你不容易

    正如许多事情都有其两面性一样,测试方法也是这样。要保证测试方法正确,最简单、最直观地想法就是多写些测试用例,从更多地角度去测试,但这必然增加我们的测试成本。小步快跑要求我们频繁进行测试,假如我们重构的...

    2014-09-09 10:58
    621
  • 大话重构连载12:你不能没有保险索

    通过前面的描述你已经对重构中“小步快跑”的开发模式有了一个清楚的认识。学会和习惯小步快跑的开发模式,对于重构工作极其重要,因为它让这种大范围、大幅度修改代码的重构工作变得不再像以往那样让人胆战心惊。究...

    2014-09-08 07:04
    667
  • 大话重构连载11:小步快跑是这样玩的

    说了那么多,相信你对小步快跑的概念有了一个初步的印象,但理解还不是很深。让我们来看一看一个实际工作中的例子,来亲身感受一下什么是大布局,什么是大设计,什么是小设计。 还是回到前面那个HelloWorl...

    2014-08-26 10:42
    1029
  • 大话重构连载10:小设计而不是大布局

    开车的朋友一定深有体会,驾驶汽车其实就是在不断矫正汽车行驶方向的一个过程。在整个驾驶过程中,你必须全神贯注地紧盯前方,通过方向盘不断矫正方向,否则即使行驶在直线路段也可能偏离车道。那些疲劳驾驶的司机,...

    2014-08-10 14:49
    663
  • 大话重构连载9:大布局你伤不起

    作为优秀开发人员,重构应当成为一种习惯,自然而然地运用重构的开发模式,自然而然地在优化和调整我们的代码。它首先要求我们掌握重构的开发模式,就是“小步快跑”的开发模式,运用“两顶帽子”的设计顺序,去开发...

    2014-08-04 10:19
    837
  • 大话重构连载8:盘点我们的重构工具箱

    下面我们来盘点一下系统重构工具箱里都有什么,也就是看一看系统重构到底都有哪些方法。系统重构总是在不同层次上调整我们的代码,因此重构方法也就分为了多个层次。从总体上看,重构方法分为以下几个层次:方法的重...

    2014-07-27 22:11
    635
  • 大话重构7:重构是一系列的等量变换

    毫无疑问,系统重构是一件如履薄冰、如坐针毡、你必须时时小心应对的工作,你就像走在钢丝上的人,每一步你都必须要保证正确,一个不经意的失误就可能让你万劫不复。尽管如此,只要你掌握了正确的方法,即使站在钢丝...

    2014-07-22 09:01
    801
  • 大话重构连载6:一个真实的谎言

    经过前面的一番讲解,相信你已经对系统重构有了一些初步的认识了。一切的一切仿佛在告诉我们,系统重构总是与需求变更无关。但此时,我不得不告诉你这是真实的谎言。 我们的软件系统总是处于一种变化之中,并且往往...

    2014-07-22 08:54
    610
  • 大话重构连载5:软件修改的四种动机

    软件,自从被我们开发出来并交付使用以后,如果它运行得好好的,我们是不会去修改它的。我们要修改软件,万变不离其宗,无非就是四种动机: 1. 增加新功能; 2. 原有功能有BUG; 3. 改善原有程序的结...

    2014-07-09 11:28
    742
  • 大话重构4:大布局与小步快跑

    以往我们在重新设计一个系统时,总是喜欢大布局。全面地整理系统需求,全面地分析系统功能,再全面地设计系统、开发、测试。这样一个过程往往会持续数月,花费大量的工作量。但是,不到最后设计出来,谁都不知道会不...

    2014-07-07 17:51
    741
  • 大话重构连载3:在保险索上走钢丝

    当我们开始系统重构的时候,不是着手去修改代码,而是首先建立测试机制。不论什么程序,只要是被我们修改了,理论上就可能引入BUG,因此我们就必须要进行测试。既然是测试就必须要有一个正确与否的评判标准。以往...

    2014-07-02 19:16
    644
  • 大话重构连载2:什么是系统重构

    前面我们提到了,面对软件工业时代的到来,我们的软件企业陷入了一种更深的迷茫之中,一种“后有追兵,前有悬崖,进退两难”的境地。后有追兵:面对维护了数十年之久的大型遗留系统,我们到底改还是不改?不改,面对...

    2014-06-29 04:27
    845
  • 大话重构连载:遗留系统——软件工业时代的痛

    我常常感到幸运,我们现在所处的是一个令人振奋的时代,我们进入了软件工业时代。在这个时代里,我们进行软件开发已经不再是一个一个的小作坊,我们在进行着集团化的大规模开发。我们开发的软件不再是为某个车间、某...

    2014-06-18 10:15
    1258
  • 我的新书终于要出来啦

    我的新书《大话重构》终于要出来啦!这是一本讲咱程序员应该怎样开发高质量代码的书,它用大量精彩的故事,讲解高质量的代码是怎样一步一步开发出来,其设计的过程、心理的历程、遇到的问题、解决的思路…… 这是一...

    2014-04-07 16:30
    718
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部