尽管我不是母语为英语的人,但我尽量保持用英语写的代码。在一个特定领域的单词和短语非英语的项目中,我经常发现自己在翻译单词和使用我的代码中的非英语单词(变量,方法名,类名等)之间拉。
翻译这个单词会使代码更像普通的英语,其缺点是会使习惯于非英语单词/短语的人感到困惑。 不翻译为您提供了难看的名称,但对于熟悉该域名的人来说,它们更容易理解。美学上它让我有点畏缩。
后者的一个例子就像getVirksomhet()
,其中挪威语“virksomhet”翻译成英语中的“business unit”,但在这个特定的项目中也有一个特殊的含义。
你做了什么,你对此有何看法?
答案 0 :(得分:4)
我用最有趣的翻译(从荷兰语到英语)工作了几年,与你做的完全一样:尽可能地坚持英语。
然而,它造成了更多的困惑而不是真正有用(更不用说你必须积极管理“正确的翻译”,否则各种微小的变化可能会出现在局部变量,计数器等中。)。 p>
因此,除非你有一些计划尽快离开你的开发,否则我会坚持使用getVirksomhet(),因为你们都知道这意味着什么。
我还与一些非本土的荷兰程序员合作,他们在使用荷兰语相当于getVirksomhet()等方面没有任何问题。
答案 1 :(得分:3)
这取决于该术语无处不在。如果您正在挪威开发该系统,并且所有业务人员和开发人员都会知道Virksomhet,那么我会使用业务术语 - 特别是因为它的语法高于其英语翻译。
如果开发人员不能很好地理解这个术语,那么最终可能会妨碍理解 - 这是无处不在的语言试图避免的。在这种情况下,您必须在代码中记录该术语,或者与业务人员合作以提供可接受的替代品。
答案 2 :(得分:2)
我认为答案取决于文化环境和目标群体。我是希腊人,我在英国,希腊和法国都有工作经验。我注意到我自己对问题的回答每次都不同:
英国:当然是英语。
希腊:所有条款均以英文翻译。大多数希腊程序员都熟悉英语术语。此外,大量的编程语言不接受希腊字符作为标识符,使用拉丁字母写希腊语是非标准和丑陋的。
法国:嗯,法语写的没有口音。大多数情况下它看起来像倒置英语,即“getApplicationCourante”而不是“getCurrentApplication”。这有一个很好的副作用:在字母排序中,方法将按名词分组,而名词通常比形容词更重要。尽管如此,这两种语言不可避免的混合看起来很难看,但这确实比让法国人使用英语更好:-P
话虽如此,您必须确保您的目标群体也熟悉该语言。在使用ABAP处理SAP时,我真的不喜欢德语中的许多功能和数据库字段。如果你考虑的话,比ABAP的关键字更加糟糕,ABAP也是由SAP创建的,都是英文版...
答案 3 :(得分:0)
我认为您应该与您的客户交谈,并尝试编写您可以同意并记录的重要域概念的英文翻译。如果你很幸运,他们可能已经有了这个。