随笔分类 -  重构

摘要:我们怎样拥抱变化软件系统应对快速变化的终极利器,是以领域模型为核心建立的软件架构。软件发展的基本特征就是变更,不论是源于需求的变更还是源于技术的变更。运用领域模型,通过图形化的分析,可以让我们快速掌握真实世界的规律,进而指导软件的设计与开发。领域模型是联系真实世界与软件世界的枢纽,首先通过对真实世界... 阅读全文
posted @ 2015-04-09 13:31 Ribbon 阅读(256) 评论(0) 推荐(0)
摘要:什么时候重构?重构是一种习惯,一种编程习惯。这种习惯让我们迅速由菜鸟转变为大牛,可以编写出高质量、优秀的程序。问题的关键就是降低修改成本与风险的方法,而这个方法就是系统重构。走出重构的第一步对每一个人来说都是一次心灵的考验,甚至许多人总是徘徊于路口踌躇不前,但一旦跨出去了,它将成为你生命的一部分。没... 阅读全文
posted @ 2015-04-08 11:37 Ribbon 阅读(215) 评论(0) 推荐(0)
摘要:第五步:降低程序依赖度1. 依赖反转原则在面向对象编程的时候引入了接口的概念,引入接口的目的是希望我们在编写程序的时候能保证足够的内聚,即它的业务逻辑不要为更底层的具体实现所耦合,这就是依赖反转原则。 a. 高层次的模块不应该依赖与低层次的模块,两者都应该依赖于抽象接口 b. 抽象接口不应该依赖... 阅读全文
posted @ 2015-04-03 15:16 Ribbon 阅读(192) 评论(0) 推荐(0)
摘要:第三步:提高代码复用率经过重构的第一步,我们将令人头疼的大函数分解成了大小适中的一个个小函数,经过重构第二步,我们将无所不能的大对象拆分成了功能内聚的一个个小对象。随后,我们需要考虑的问题就是优化我们的代码了。1. DRY原则:Don't Repeat Yourself.2. 如何识别相似或相近功能... 阅读全文
posted @ 2015-04-01 14:23 Ribbon 阅读(243) 评论(0) 推荐(0)
摘要:第一步: 从分解大函数开始1. 什么是大函数?大函数就是那些业务逻辑特别复杂、程序代码特别多、一提起来就让人头疼不已的超级方法。超级大函数很难让人读懂,更难于维护与变更,毫无疑问是软件退化的重灾区。2. 如何解决超级大函数问题?最有效的办法就是分解,按照功能一步一步分解,还原其应有的优化结构。这个过... 阅读全文
posted @ 2015-03-30 12:00 Ribbon 阅读(251) 评论(0) 推荐(0)
摘要:1. 保险索是什么?保险索就是每次重构后正确的测试方法。2. 什么是程序代码正确的测试方法?在不同的场景标准是不一样的。但与其他测试不同,系统重构在测试代码正确性方面有自己独特的方法,那就是不改变软件外部行为。3. Mock在测试过程中,对于某些不容易构造或不容易获取的对象,用一个虚拟对象来替代以使... 阅读全文
posted @ 2015-03-30 10:52 Ribbon 阅读(214) 评论(0) 推荐(0)
摘要:系统重构,就是在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。关于基础第一篇,请参考文章大话重构读书笔记——基础篇一。小步快跑让我们每次重构的时候只关注一个问题,运用一个重构手法去解决这一个问题。以下是一个非常简单的HelloWorld程序,源码如下: 1 ... 阅读全文
posted @ 2015-03-26 16:02 Ribbon 阅读(561) 评论(0) 推荐(0)
摘要:重构:改变既有代码的一剂良药1.什么是系统重构?它是一套严谨而安全的过程方法,它通过一系列行之有效的方法与措施,保证软件在优化的同时,不会引入新的bug,保证软件改造的质量。2.系统重构的概念系统重构,就是在不改变软件的外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更。3.... 阅读全文
posted @ 2015-03-25 13:47 Ribbon 阅读(275) 评论(0) 推荐(0)