买这本书的原因一是这本书确实是一本关于修改老代码的经典,二来翻译者是中国地区 InfoQ 的主编。
但是入手看了大概到100多页之后实在是忍不住要上来吐槽一下。
首先是翻译的通畅性,应该说是比较烂的水准<del>只能说是将将达到合格的水准,</del>这个可能是个人的偏见。但是我就举几个例子:
一、关于 Test Harness 这个词组的翻译,文中使用的是测试用具,原谅我看不懂这个 Harness 为什么要翻译成「用具」,这个地方我觉得可以有更好的翻译吧,但是这个词组确实是挺难翻译的;
二、第105页中间,「不要误导我」,英文原文,「Don't get me wrong」。「误解」和「误导」的意思相差还是很大的,虽然我看到这句的话的时候能够猜个八九不离十,但是还是觉得不够用心。
三、第48页倒数第二段,中文翻译「这看起来是很简单的修改,但是它很具有侵略性」,英文原文是「This seems like a simple change, but it was pretty invasive」。「invasive」,在我有限的知识理解范围内,觉得在程序员的领域,可能「侵入性」会比「侵略性」用的更频繁一点。Correct me if I'm wrong。
「Edit」四、第111页最后一段第三句。「我们需要 HttpPostedFiles 在测试中运行 getKSRStreams」,原文「We need HttpPostedFiles to run getKSRStreams in test」。难道真的是谷歌翻译机器翻译的东西?连基本的断句都不管了?代码中明明是 HttpPostedFiles 放在 getKSRStreams() 这个方法当中,意思很明显是「为了运行 getKSRStreams() 这个方法,我们需要 HttpPostedFiles 这个类的实例」。附上谷歌翻译对原文的翻译:「我们需要HttpPostedFiles在测试运行getKSRStreams」,满眼都是谷歌翻译的感觉。╮(╯▽╰)╭
还有对于格式的吐槽:
一、在正文中的代码都是用的 Times New Roman 字体,简直没法看,代码无论在那个地方都应该是用等宽字体,这我觉得如果你去下一本这本书的英文原版的电子书来看,一定会有感觉。该是代码的地方,原版的书肯定是等宽字体。
二、81页,小结当中,英文的书名用的是中文的书名号《》括起来的,而且推荐的两本书,用的书名号的格式还不一样,第一本在左书名号后面加了空格然后写书名,第二本书在左书名号后面没有加空格。
关于格式,可能是我太挑剔了,但是我觉得一本好书,不光内容要好,排版的格式,常用的格式的规定,也很重要。看看 O'Reilly 出版社的书,然后再看看国内一些出版社的书(没错,我说的就是机工的书),个人能够感觉到用心和不用心的差距在哪儿。
------------------------------------------------
2016-8-5 update
虽然翻译不好,但回过头来看,这本书中所提到的各种修改遗留代码的技巧,真的是非常地有用。所以从内容上还是推荐这本书,必要的时候配合英文版一起阅读。
翻译的很一般,机械工业出版社
对“翻译的很一般,机械工业出版社”的回应
《修改代码的艺术》热门书评
-
读《修改代码的艺术》
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