DDD领域驱动设计批评文集
做强化自测题获得“软件方法建模师”称号
《软件方法》各章合集
“Analysis Patterns”的第5章“对象引用”原文:
Unless you can catch all such references, there is the risk of a dangling reference, which often has painful consequences.
2004(机械工业出版社)中译本的译文为:
标红字的dangling reference,翻译为“虚悬引用”,这可以的。
2020(人民邮电出版社)中译本的译文为:
dangling reference翻译成“无法彻底修改这些引用”,也就是说,dangling翻译成“无法彻底修改的”。
**********
dangling reference这个词并不是什么陌生的词。
鉴于搜索引擎和AI的结果的可信度,我在文章里尽量少用来作为证据。
我们来看30年前(1995年)的书:
书上说,“悬空引用”指“引用到一个已不存在的变量”。
《分析模式》2020中译本写“无法彻底修改这些引用”,是不是译者深思熟虑,在三四层楼的高度认为“悬空引用”的危害是“无法彻底修改这些引用”,所以选择这样翻译呢?
我们再来看1999年的这本书:
书中说到悬空引用的危害时,重点说的是“可能读写存储区里一些已经是其他对象的部分的二进制位……毁坏……”。
《分析模式》2020中译本的 “无法彻底修改”怎么来的,就不知道了。
**********
有没有这样一种可能:现在都2025年了,dangling reference这个词已经淘汰了?
领域驱动设计圈子一向崇尚不断推出革命性创造和划时代洞见,因此DDD精英不知道这个词也很正常。
我们再来看这个书:
我截的图是2019年的第1版,这本书的第2版中译本刚刚上市,从京东的商品页所给的目录上看,仍然有“悬垂引用”:
*仅为佐证之用,和此书的出版方人士无事先沟通。
*另外,虽然此书可以看作“Rust官方指定教程”,但原书名是The Rust Programming Language,并没有自称“权威指南”。“权威指南”和很多“之道”、“之禅”一样,是中译本自己加的——这段文字也免除了广告嫌疑。