[全文]买椟还珠和坏事变好事?《分析模式》漫谈19

DDD领域驱动设计批评文集

做强化自测题获得“软件方法建模师”称号

《软件方法》各章合集


“Analysis Patterns”的第一章有这么一句:

Modeling in a programming language also presents the danger of tying the models to that language. The model may use features of that language that are not available in other languages.

2004(机械工业出版社)中译本的译文为:

图片

标红的地方,翻译基本可以。

2020(人民邮电出版社)中译本的译文为:

图片

这个意思就有点不对了。

(1)“这样就可以”听起来好像是好事,和前面的danger对不上

danger在于“其他语言不具备这些特性(are not available in other languages.)”(2020中译本未体现这个意思),说“这样就可以”像是为“模型和特定语言绑定”寻找理由:为什么我要用编程语言来建模,因为这样就可以使用该语言的特性呀!

但本文所给出的这一段原文中,并没有为这个做法寻找理由的内容。

2024中译本打算这样译:

用编程语言建模还存在将模型与该语言绑定的危险。模型可能使用该语言的某些特性,而其他语言不具备这些特性。这并不意味着概念模型无法迁移到另一语言,但可能会使这个过程更加困难。

(2)danger

2004中译本翻译为“危险”,这是可以的,但是2020中译本翻译成“风险”,这个就不太合适,会让人误以为原文是risk。

其他地方,例如第三章原文里有risk,2020中译本也同样翻译成“风险”,这怎么区分呢?

图片

这样就让人感觉用词比较随意。

我再举一个例子:

还是刚才那句话,其中有个features,2020中译本翻译成“特性”,这个是对的。

但是,同一章的另一处也有features,2020中译本却翻译成“功能”,会让人误以为原文是function。

图片

关于特性跟功能有什么区别,那是另外一个问题了。

(3)artifact不是“系统”

上图又引出一个新问题:

图片

除了把features翻译成“功能”之外,2020中译本还把artifact(应译为“工件”或“制品”)翻译成“系统”。

如果说作者想说系统、功能,他会用system、function之类的。他既然用了这两个词,我们就应该尽量去体现原文的含义。Folwer这里说的应该就是通用的工程实践,适用于各种artifact。

更为有趣的是,artifact用在软件开发中,本意是指“系统”之外的各种副产品,下图摘自wikipedia:

图片

把artifact译作“系统”,刚好译反了,有一种“买椟还珠”的感觉。

图片

artifact广义上也可以认为是关于系统的所有一切,当然可以包括“系统”在内,但不能说artifact就是系统。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值