如果你想重构,重要的前提就是有强力的测试.哪怕你有自动化重构工具在手.
如果你想对既有代码进行测试,你就必须先重构,因为代码根本就没有办法在测试工具中实例化.
……
新写的代码大多是可以先进行测试,然后再挂接到原有代码中.而对付遗留的代码,我们则需要一点点地把代码抠出来测试.修改遗留代码时,我们需要将代码解依赖出来,建立其测试,然后才对它进行修改.
并不是所有的重构手法都需要测试,特别是我们已经有了自动化的重构工具.书中说的一些解依赖技术就是一些特殊的重构技术.只要我们小步地前进,细心地操作,并借且自动化重构工具,无须测试就能进行重构.而这些重构技术的目标就是为重构出来的代码建立测试.一旦测试建立,则可对代码进行更为自信的修改,则可对代码进行更自信的进一步重构.
重构与测试的纠结
《修改代码的艺术》热门书评
-
读《修改代码的艺术》
38有用 1无用 dreamhead 2007-10-22
作为一个程序员,获取知识是让我不断前进的动力,而读书是我获取知识的一条重要途径。在这个“经典”、“必读”过剩的年代里,大多数的书都仅仅扮演着传播知识的角色,真正改变自己对某些问题看法的书其实少之有少。限于读书时的眼界和能力,在我列表中,让我拍案惊奇的书只有几本。Martin Fowler的《重构》,...
-
围绕重构来阐述如何修改遗留代码的不错的书
5有用 0无用 疯狂的菠菜 2009-09-14
这本书看的时间非常长, 断断续续有3个星期了吧, 不错的书, 至少对我来说是这样, 因为我现在就碰到了书中列出的种种问题:对已有的没有完善的单元测试的核心系统进行重构.为了保证少出乱子, 不出乱子, 我必须小心的对超大类, 巨型方法采用各种重构手段进行修改, 没有单元测试作保证的系统进行重构是非常危...
-
翻译的很一般,机械工业出版社
4有用 0无用 YigWoo 2014-07-20
买这本书的原因一是这本书确实是一本关于修改老代码的经典,二来翻译者是中国地区 InfoQ 的主编。但是入手看了大概到100多页之后实在是忍不住要上来吐槽一下。首先是翻译的通畅性,应该说是比较烂的水准<del>只能说是将将达到合格的水准,</del>这个可能是个人的偏见。但是我...
-
参考报价问题
3有用 1无用 rjnew 2007-10-23
我发现很多网页里卓越的报价常常比当当的高,可是实际情况是点击链接后卓越比当当低!比如这本书实际报价:卓越是46.5,当当是46.6不知道是不是最近卓越大范围调整了价格?!顺便说一下,在csdn读书频道上也有类似情况。...
-
写代码不是一件简单的事情
2有用 0无用 jerry 2009-09-11
《修改代码的艺术》看完了这本书很薄,但是看起来还是很吃力,里面介绍了很多重构的知识,而且有很多c++的内容,有的地方也是似懂非懂的,如果了解设计模式和重构,就会轻松很多,可能艺术这东西,本身就不容易懂吧。里面对单元测试的依赖性很强,其实还是一本不错的书,你完全可以领略到作者真的把代码的修改看成是一种...
书名: 修改代码的艺术
作者: Michael Feathers
出版社: 人民邮电出版社
原作名: Working Effectively with Legacy Code
译者: 刘未鹏
出版年: 2007-09-25
页数: 384
定价: 59.00元
装帧: 平装
丛书: 图灵程序设计丛书·程序员修炼系列
ISBN: 9787115163622