请您先登录,才能继续操作

论坛首页 海阔天空论坛

J2EE without EJB 勘误表

浏览 44382 次
该帖已经被评为精华帖
作者 正文
   发表时间:2005-10-07  
《J2EE without EJB》翻译的不错,比Rod的第一本书《Expert Ono-on-One J2EE Design and Development》翻译的强多了。

比较多的“译者注”是这本译著的特点。且不说这些“译者注”是否恰当,就凭译者们的这片心就值得称赞。书是离线阅读的,丰富的“译者注”可以让读者有更好的用户体验。至于在“译者注”中顺便推销一下自己的书籍或文章,也是译者的权利,增加点Reputation嘛。

提一点小建议:
Mock这个词可以不翻译。实际上,书中也有不少地方没有翻译。没翻译的地方,读起来就顺畅;翻译成“模仿”的地方,读起来就拗口,心中还得反翻译一下。

P426~429,有三个小标题:模仿对象,动态Mock对象,决定使用模仿对象的时机。其实这么一列出来,就知道有什么不妥了:要么都翻译,要么都用原文。

对于IT术语,翻译还是不翻译,不是特别好掌握。
0 请登录后投票
   发表时间:2005-10-08  
charon 写道
老实说,这本书第九章"事务管理",翻译的一般般。主要是中文不通顺,有几个地方(我感觉得到的有5/6处)按照英文硬译,看起来会有歧义。
比如:
p234 第16行
引用

这种策略唯一的问题在于带事务功能的JVM级别缓存:持久层框架如hibernate需要一个合适的事务完成回调,这个回调方法由特定容器的TransactionManager对象(如前所述)来提供

1. 什么是带事务功能的缓存?这里显然有一些歧义在。
2. 这里事务完成回调事务完成是修饰回调的。第一次读,我还以为是需要一个事务来完成回调。faint.
3. 最后面那半句话,说实在我没看懂,但是直觉这个翻译在修饰关系上和原文是不同的。
而且,这两段话给我的感觉是作者也没有说清楚,TransactionManager并没有可以注册的回调,只是spring的实现提供了。spring的AbstractPlatformTransactionManager在commit的时候调用了所有这些回调(在非嵌套情况下),或者将这些回调注册到外层事务。
因此,这里的回调方法是spring的实现替数据访问框架提供的,而AbstractPlatformTransactionManager只是提供了注册这些回调方法的方法。


这里我也觉得翻译的比较生涩,有些地方翻译的时候,我没有非常仔细推敲。
0 请登录后投票
   发表时间:2005-10-08  
第六章怎么把构造函数翻成构造子?难道大家都习惯用‘构造子’这个名词?
0 请登录后投票
   发表时间:2005-10-08  
国庆7天差不多都在啃这本书。怎么说呢,总体感觉翻译的还是不错,以前做项目的时候看了英文版,不过没有看全,挑了急需的看了看。第九章和第十章总体来说确实是翻译的比较生涩,不过希望JavaEye能够继续努力,为大家提供更多。
不知你们有没有计划翻译Rod Johnsonet的《Professional Java Development with the Spring Framework》?
0 请登录后投票
   发表时间:2005-10-09  
第 8 章的很多地方(10几处)都把 JBoss 写成了 JBosss。

P225:
EJB 3.0 很可能又是一发马后炮。
我们说打了一“发”炮弹,所以这里也用了“发”。不过“马后炮”是象棋的术语,这里用一“步”马后炮似乎更适合一些。
0 请登录后投票
   发表时间:2005-10-10  
第 9 章:事务管理

P233:
,而是由容器来指定的——或者通过服务器端的配置文件,或者通过服务器端的管理控制台来指定。
原文:
It is container-specific, either via server-specific configuration files or a server-specific management console.
这里 xxx--specific 应翻译为“特定于xxx”,在本章后面是这样翻译的,但是这里的翻译与后面不一致。
建议这样翻译:
,而是特定于容器的——或者通过特定于服务器的配置文件,或者通过特定于服务器的管理控制台来指定。

P234:
最重要的是,Hibernate 仅在向数据库同步的时候才发送 JDBC SQL 语句
原文:
most important, when flushing changes to the database
似乎含义不是这样,建议这样翻译:
最重要的是,当发送引起数据库变化的 JDBC SQL 语句时

持久层框架如 Hibernate 需要一个合适的事务完成回调,这个回调方法由特定容器的 TransactionManager 对象(如前所述)来提供。
原文:
The persistence tool needs proper transaction completion callbacks, provided by container-specific setup of a transaction manager lookup (as described previously).
感觉翻译的不够准确,建议翻译为:
持久层工具需要一个合适的事务完成回调方法,这个回调方法通过查找特定于容器的事务管理器(如前所述)来提供。

某些方法对于应用程序开发人员来说,是并不希望了解的。
原文:
part of the plumbing that an application developer doesn’t want to have to see at runtime.
在这本书中,“plumbing”按照 gigix 的翻译,含义为沉重的重复劳动。建议翻译为:
这些重复的代码,是应用程序开发人员并不希望在运行时看到的。

P238:
它不但可以提供和本地 EJB 同样威力。
少了一个“的”,应为:
它不但可以提供和本地 EJB 同样的威力。

P241:
对于容器事务来说,事务对象仅仅是用来识别事务在提交,还是在回滚状态的一个句柄。
原文:
The contained transaction object is just a handle for identifying the transaction on commit or rollback calls.
感觉翻译的不够准确,建议翻译为:
所包含的事务对象仅仅是当事务在调用提交或者回滚时标识事务的一个句柄。

P245:
无需担心资源访问代码究竟是在同一个类方法内部,还是在单独的数据访问对象中。
原文:
It doesn’t matter whether the actual resource access occurs within the same method or in separate data access objects.
感觉翻译的不够准确,建议翻译为:
无需担心资源访问究竟是发生在同一个方法内部,还是在分离的数据访问对象中。

P250:
例如独占的拦截器,
原文:
such as including arbitrary interceptors,
这里 arbitrary 的含义应为“任意的”,建议翻译为:
例如任意的拦截器,

P251:
使用源代码级别的元数据的一个引人之处是:
少了一个“吸”,应为:
使用源代码级别的元数据的一个吸引人之处是:

甚至也允许你采用自己获取元数据策略的实现方式,同样的,你也可以使用自己实现的代理类,可以使用自定义的事务策略等等。
原文:
,even allowing you to implement your own metadata-retrieval strategies, as well as custom proxy factory beans, custom transaction strategies, and so on.
感觉翻译的不够准确,建议翻译为:
甚至也允许你实现自己的元数据获取策略,同样的,你也可以使用自定义的代理工厂 bean,可以使用自定义的事务策略等等。

P254:
或者通过 JNDI 查找可以获得的非 XA 容器的 DataSource。
原文:
or a non-XA container DataSource exposed via JNDI.
感觉翻译的不够准确,建议翻译为:
或者通过 JNDI 暴露的非 XA 的容器 DataSource。

P256:
org.springframework.orm.hibernate.SessionFactoryUtils 提供的查找方法也是类似于 JDBC 和 JDO,并且适用于任何事务策略,并且 HibernateTemplate 会自动使用这种查看方式。
建议后面的“查看”改为“查找”以保持前后的一致。

P259:
,同时潜在的使应用程序的比使用 EJB 更加简单,
原文:
, with the potential to make applications simpler
翻译的比较拗口,建议翻译为:
同时带来的潜在好处是使应用程序比使用 EJB 时更加简单,

一个简单的基于 JDBC 的事务管理策略已经足够工作的很完美了。
同样翻译的比较拗口,建议翻译为:
一个简单的基于 JDBC 的事务管理策略已经足够完美了。
0 请登录后投票
   发表时间:2005-10-11  
在讲测试先行那一部分,说大多数程序员不愿测试先行的时候提了三点,其中最后一点翻译成:“政治”。。。。
我想是不是“思想原因”,“主观原因”更合适呢?其他很多地方都是翻译成了“政治”?见笑了!!
0 请登录后投票
   发表时间:2005-10-11  
pure 写道
在讲测试先行那一部分,说大多数程序员不愿测试先行的时候提了三点,其中最后一点翻译成:“政治”。。。。
我想是不是“思想原因”,“主观原因”更合适呢?其他很多地方都是翻译成了“政治”?见笑了!!

公司政治是件很要紧的事情,很多时候比技术还要紧得多。
0 请登录后投票
   发表时间:2005-10-11  
gigix 写道
pure 写道
在讲测试先行那一部分,说大多数程序员不愿测试先行的时候提了三点,其中最后一点翻译成:“政治”。。。。
我想是不是“思想原因”,“主观原因”更合适呢?其他很多地方都是翻译成了“政治”?见笑了!!

公司政治是件很要紧的事情,很多时候比技术还要紧得多。

对头对头,最最难弄就是这个公司政治。
0 请登录后投票
   发表时间:2005-10-12  
跑题了跑题了,
我也买了一本,读到第三章到现在还觉得非常流畅,
不过我也挑挑刺
p34 第五行
业务对象的管理就会付之阙如
付之阙如这样的词比较生涩,当时我就理解错了,
我理解成
业务对象管理的工作就会急剧增加
后来我问了一个中文系研究生的朋友
他也没说上来
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics