读书报告之《修改代码的艺术》 (III)

原创 2015年07月06日 22:11:56

《修改代码的艺术》,每次读来,都会相当重构,正如作者自己就说到的:从技术上讲,书中列到的解依赖技术,都是重构技术,因为他们都保持了代码的行为。这里庄稼人再多引用《大话重构》中的一句话:先重构我们的系统,使之可以应付那个需求,然后再添加代码,实现新需求。是的,正如读书报告(I)中所阐述的,引入单元测试,本质上就是做定制需求。


作为最后一篇,来总结一下最后的解依赖技术。核心思想就是泛化,这里偷懒了,直接简单列一下

1.  参数化方法。 就是为某个方法再添加个参数,传入不同的参数,实现不同的行为。相信码工都干过

2. 参数适配。说穿了就是将参数类型重新适配成基类引用(指针), 于是传入不同的子类对象,实现不同的功能。

3. 实现提取,接口提取。最常用的解依赖技术,简单的派生一个子类去重写就可以解依赖。

书中还列了很多其他方法,这里不说了。最后说一点自己的体会,直接暴力的解依赖实际很少用到,至少我是这样。一般都是使用模拟类,或者将代码分块,只测试其中某些块。


写在最后,因为个人私事,差不多整整一年都没有碰技术了,有些荒废。这篇滥竽充数的文章,算是对”有始有终“这四个字的交代吧。各位见谅



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

读书报告之《修改代码的艺术》 (II)

4. 修改时应当测试哪些方法 作者提出了影响结构图的概念。说穿了,就是CallRelation和ReferenceRelation,就是查看某个方法(变量)被哪些方法引用,以及自身又引用了哪些方法,依...

读书报告之《修改代码的艺术》 (II)续2

修改if else 最忌惮的是天马行空,自负自己对代码的理解,直接重新改写条件语句。但另一方面,相信各位看官也注意到了,理解又是必不可少的,完全死死的做逻辑变形是异常繁琐的(这个在第二个例子中尤为明显...

《Java与模式》读书报告之简单工厂模式

简单工厂模式是属于类的创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单...

再读经典重构、重构与模式、修改代码的艺术《三》

重新组织你的函数 Extract Method 将一段代码放进一个独立函数中,并让函数名称解释该函数的用途。void printOwing (double amount) { printB...

读书_修改代码的艺术

遗留代码就是那些没有编写相应测试的代码.没有编写测试的代码是糟糕的代码. 不管我们有多细心地去编写它们,不管它们有多漂亮、面向对象或封装良好,只要没有编写测试,我们实际上就不知道修改后的代码是变得更好...

修改代码的艺术--YH维护修改“全部退餐”有感

2011/1/20上午接到王经理的电话,额,现在来的电话基本上都是YH店出现系统问题了。次数多了,都形成条件反射了。        Bug描述:在前台售单之后,需要退单操作,当输入单...

再读经典重构、重构与模式、修改代码的艺术《一》

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

Quake-III代码里神奇的浮点开方函数

Quake-III Arena (雷神之锤3)是90年代的经典游戏之一。该系列的游戏不但画面和内容不错,而且即使计算机配置低,也能极其流畅地运行。这要归功于它3D引擎的开发者约翰-卡马克(John C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)