14h:05 in 6 days。我的“重构三部曲”之三,(另外两本是《重构》,《从重构到模式》,这三本书让我对代码的理解有重生之感。大部分书都是教你怎么从0开始写好代码,但是现实是经常从接手已有的项目开始,所以这三本就很有价值。)这本书压箱底8,9年了,前些年有次囫囵吞枣看到100多页就放弃了,因为看不懂。有了前两本垫底,这次阅读就轻松多了。书给我最大的震撼是在开头,“遗留代码” legacy code的定义!一般我们会把别人写的代码定义为遗留代码:),或者自己的代码写着写着就变成了遗留代码。(脑中浮现清帝退位,一群太监从宫门出来的画面。意识流,打住。。)书中对遗留代码的定义非常明确:“遗留代码就是那些没有编写相应测试的代码。” 由此凸显测试驱动开发的重要性,简单说我觉得有3点,1)测试是一种即时反馈的技术,能帮助尽早快速定位到bug。2)从可测试的角度能够写出更好的代码,因为会关注依赖,测试的过程本身也是对代码理解的过程。3)“通过单元测试”是代码质量一个可测量的指标。是设计不足与过度设计的分界点。(好吧,这点我说的有点虚,希望一年内,我能整理出在iOS上测试的流程、工作和经验。)
这本书分为三部分
1)修改机理,讲作者修改代码的方法论。2)修改代码的技术,将代码中遇到的坑一个个罗列出来,而且给出非常实用的对付手段,绝不理论和太极。3)借依赖技术。不合理的依赖是万恶之源,这章有24小结专门介绍怎么对付他们。
话说,看完之后,我忘了大半,等我TDD做起来之后再来验证性的看一遍。
最后吐槽一下翻译的书名。原书名是《Working Effectively with Legacy Code》,很清晰的一个名字,非要翻译成《XXX 的艺术》,估计是因为当时受到高纳德《计算机程序设计的艺术》的影响,写代码更多是个体力活,尤其考验程序猿的眼镜、颈椎、腰椎、还腚。。(像柳比歇夫说自己拍照不是拍正面,而是拍屁股,他是个坐功很好的人。)恕我慧根不够,不敢称呼自己是“艺术家”,却是个面朝屏幕背朝椅的地道“码农”。
重构三部曲让我对代码的理解有重生之感
《修改代码的艺术》热门书评
-
读《修改代码的艺术》
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