看过的国内翻译的技术书日渐增多,总结出了点经验。在我看来,翻译技术书有三个层次——对原作涉及的知识有基本的认识乃是第一层,能读懂原作是第二层,读懂原作并能以流畅的中文转述是第三层。翻译的时候如做到第一层,则译出来的东西基本不错,也就是“信”的水平。做到第二层,则翻译的作品不会出大的技术问题,即“达”的水平。做到第三层,则译作不仅能正确表达原作,且文笔优美,也就是“雅”的水平。读这样的作品不仅可以学得知识,更可使精神获益。
“雅”的作品并不多见,印象中邓辉译的《敏捷软件开发》是一本。“达”的作品较多,比如崔凯的《测试驱动开发:实用指南》。在“达”以下的当然也有,我这里就不举例了。至于这本《JR》译得如何,我不作评论,大家看过后面的补丁自有评价。但对我来说,我不认为把Dr. Dobbs Journal当作博士的人有多高的编程水平,更不相信将Green bar译作“绿吧”的人真的看到过JUnit的绿色进度条!!
最后对这本书的相关责任人,我有些话要说:
To 博文视点——
首先,感谢你们这些年来为国内引进了这么多优秀的技术书,让我们可以了解国外最新的技术成果。但感谢的同时,我希望你们能真正地把图书特别是翻译图书的质量放在必要的位置。毕竟这些技术书所面向的读者,大部分是兜里并不太有钱的程序员甚至学生。我们选书的时候,看重的不仅仅是“×××作序”和“web2.0云云”的促销语,更重要的是书本身的内容。请务必认真对待这些翻译的作品,这不仅是对读者的尊重,对原作者的尊重,更是对你们自己的尊重!
To三位译者之一的“绿吧”先生——
是的,我知道你们是一起翻译的这本书,因为我看到你们对test fixture这个基本用词有“固定器”(P16页)、“装置”(P77页)、“模块”(P73页)、“实体”(P212页)等数种不同的译法-_-!!!。但我不知道哪一位负责翻译第七章,所以也只好以你的翻译来称呼你。我必须告诉你,我不喜欢这个“吧”的翻译。“green bar”里的bar表示条状物,而非酒吧的吧。推荐你有空的时候逛逛wiki和豆瓣,相信对你会有帮助。
附录:非官方补丁sp1(涵盖第一到七章)=======================================
-1、Page44 para2(表示44页第2中文自然段,下同)
原译作:6. 现在,测试只涉及接口和一些抽象的测试方法,。。。
建议作:原文是:the interface and other methods in the abstract test case。。测试方法不会是抽象的,所以这里这样翻译可能更好——只包含接口与抽象测试类中其他的方法。
-2、Page59 para1
原译作:屏蔽的方法。。。
建议作:建议加上原文(stub method)
-3、Page60 para3
原译作:那么类也会自动察觉,并创建一个默认的。
建议作:provides a sensible default implementation。。疑误,应作——提供一个合理的默认实现。
-4、Page70 para2
原译作:可能会建立“在线银行模型开发人员测试”和“在线银行模型用户测试”等不同的项目
建议作:项目名可以不用翻译,。。
-5、Page78 para4
原译作:将其声明成受保护的而不是私有的
建议作:“受保护”应作“继承”
-6、Page97 para3
原译作:整个一段
建议作:直接读原文吧。其实原文这里也不太容易懂,不能怪译者。
-7、Page103 para2
原译作:汇聚成特定的代码格局
建议作:虽然我不知道code layout有什么专业的译法,但请把原文标上。
-8、Page108 para2
原译作:你可以直接将RecursiveTestSuite换成其他工具,开源工具就是这么用的。
建议作:开源工具不是让你直接换别的工具,而是让你修改工具的代码。(我无法原谅这个错误,容易产生误导!)
-9、Page111 para3
原译作:同时保证测试网的安全性
建议作:没有测试网的概念,别乱猜。原文是——without OrderedTestSuite you would not be able to perform this delicate code surgery incrementally *with the tests as a safety net*。
-10、Page116 para5
原译作:因为这避免了重复的java代码
建议作:原文——This makes adding new test cases simpler because it avoids rebuilding Java code.。。应作“重编译java代码”。
-11、Page119 para3
原译作:比如展开的文件
建议作:flat file,平面文件,意指一种包含没有相对关系结构的记录的文件。(再一次重复,请把原文注上)
-12、Page112 para4
原译作:另外一个好的习惯是,
建议作:practice也许译作“实践”更专业。
-13、Page134 para2
原译作:需要遵从的转换如下:
建议作:原文是convention,非convertion,当作“规范”,谢谢。
-14、Page138 para2
原译作:一旦你确定了数据仓库的位置
建议作:数据仓库有特定的概念,换个词吧。
-15、Page142 para1
原译作:JUnitPP两年前出现于Dobbs Jounal博士的文章中
建议作:Dr. Dobbs Jounal是一份很有名的技术类杂志。
-16、Page142 para2
原译作:相对于Test Runner被装载的目录
建议作:where Test Runner launched。。
-17、Page144 para4
原译作:在设计范例的书中。。。
建议作:也许把Design Pattern译成“设计模式”会减少你的非内行性。
-18、Page146 para2
原译作:那个实现可以在Junit的扩展系统中找到。
建议作:Junit-addons是书中提及的一个项目的名字,请不要翻译。
-19、Page152 para1
原译作:来欺骗测试代码
建议作:买你们译的书,我也有被欺骗的感觉。
-20、Page160 para6
原译作:下面是你的buildfile可能的样子
建议作:经过上面那么多错误的考验,看到这里我已经不那么吃惊了。我知道你没有用过ant,我赌10块钱。
-21、Page168 para1
原译作:一种是用著名的基于Swing和AWT的“绿吧”界面
建议作:green bar是表示测试通过的绿色进度条。
-22、Page168 para1
原译作:JUnit在盒子外提供的报告
建议作:out of the box 意指“现有的”
-23、Page168 para4
原译作:Maven是一个创建工具
建议作:建议作“构建工具”。
N、前六章里还包含至少6处打字错误,比如from变成form,html变作htmt等。读时请注意。