DDD領域驅動設計批評文集
做強化自測題獲得“軟件方法建模師”稱號
《軟件方法》各章合集
“Analysis Patterns”的第6章“存貨和會計”原文:
The transaction's creation would then be the?only place?that could create entries. ...?Providing only?the transaction's creation routine is made public, this rule can be enforced.
2004(機械工業出版社)中譯本的譯文為:??
譯文基本上是正確的。
2020(人民郵電出版社)中譯本的譯文為:?
2020中譯本把Providing only一句翻譯為“只要……公有……就可以執行”,這是有問題的。
我們先拋開原文不談,從軟件設計的常理來看:軟件設計應該是能不public就盡量不public。如果一個解決方案是“只要public,問題就解決了”,這個解決方案是不是太容易了?
也許是翻譯的時候漏看了only,但這里的問題和翻譯、原創并沒有太大關系,而是對“天上掉餡餅”要持有基本的警惕。
/*花絮
就像我前幾天剛欣賞過的一篇領域驅動設計文章,里面描述領域驅動設計革命性創新“通用語言”的內容真是讓人流口水:?
亮點1:這招絕了。領域驅動設計又又又創新了。
亮點2:他們(n人),2天時間,50個術語。工作量堆滿。
亮點3:形成詞典。僅僅是詞典,還不是類圖、狀態機圖。
亮點4:開發效率提高30%。返工率降低40%。真厲害!
參見:小甜甜和牛夫人>>
*花絮結束/
**********
我們可以用更形式化的表示法來表示:?
按照原文的意思,如果有3個操作,“規則能強制執行”的概率只有1/8,如果按照2020中譯本的意思, 概率就上升到了1/2。