编程中的非英语域命名问题

时间:2009-03-26 12:02:41

标签: dns naming non-english

大多数编程代码,我想是用英文写的。但我很好奇人们如何处理这里的命名问题。许多编程都是在某些业务领域内完成的,通常对某些程序,项目都有完善的术语。

我来自丹麦,我和我合作的东西有一个名为“indblikskode”的术语,这种术语可以转化为“洞察力代码”。那么,我在C#代码中使用“string indblikskode = ...”行来获取与此相关的某些Web服务吗?或者我是否尝试使用翻译,例如“insightcode”?我所处的业务在语言方面甚至不一致,例如使用术语“organisatorisk enhed”(组织单位),但通常使用缩写“OU”,这显然是从英语缩写。

其他人如何处理这个命名问题,同时保持一致,理智(从代码中的简单变量名到数据库表再到服务器名称)?

重复:

8 个答案:

答案 0 :(得分:7)

我只能为自己说话,但我总是在命名类和变量时将术语翻译成英语,这也是我们不成文的最佳编码实践之一。你永远不知道什么时候你可能需要将开发交给国外更便宜的劳动力或者镇上专家的外籍顾问。

答案 1 :(得分:2)

非英语命名类和函数的问题是,你总是最终得到macaronic pidgin。关键字是英文,命名约定(例如getters / setters)也是英文,设计模式的标准名称相同。

你最终会得到像这样的东西:

OrganisatoriskEnhedFactory::getInstance()->getIndblikskode();

答案 2 :(得分:0)

曾在瑞士(德国方面,即苏黎世)工作过一段时间在德国生活,我可以告诉你,我还没有看到一个代码不是英文的环境。当然应用程序可能是德语(但许多专业环境语言仍然是英语)但代码(我见过)几乎都是英语。

用其他语言编写代码很难。首先,API(几乎)都是英文的。例如,Java使用JavaBeans命名,所以你必须使用set和get,而“getGeburtstag”与“getDateOfBirth”没有完全相同的响铃。

其他国家可能因日本国家的经验而有所不同。

答案 3 :(得分:0)

我们通常使用既定的英语术语(我们的商业领域通常有英语术语),但如果我无法找出任何合适的术语,我也可以使用芬兰语。哎呀,即使我们在代码中的评论都是混合语言......

当然,合理的方法在很大程度上取决于源代码是否会在建筑物外使用。在一个小商店里,这不是什么大问题。

答案 4 :(得分:0)

我在奥地利的一家公司工作(所以我们说德语)我们用英语编程(变量名,域对象,GUI)。使它更麻烦,因为你必须找到英文翻译,你必须在发布程序之前翻译GUI。我不确定所有名字是否都是正确的。

与之前的公司相反,我正在严格用德语编程。这非常好(德语单词往往比英语单词更长)。几年后,该公司希望在美国使用相同的程序,因此讲英语的程序员必须使用相同的代码库。在此之后,一切都变得非常不一致 - 变量,数据库字段......两种语言(讲英语的团队成员都不会说德语)。

我的经验是,在应用程序开始时(在用英语编写程序时被迫执行此操作)更容易处理国际化,因为本地化10000 LOC应用程序并不是一件好事。用另一种语言写作的好处是你可以立即看到什么是本地化的,什么不是 - 尽管你必须考虑到这一点。

对于不可翻译的话:我们还没有表现出来 - 尽管有一些工作找到了“社区内交付”的英语短语(这是欧盟的事情)。但如果发生这种情况,我很确定我们会使用德语单词。

答案 5 :(得分:0)

我在德国生活和工作但只写英文代码。它使事情变得更容易。如果您想提问或想要发布有关您工作的教程,您可以在网上发布您的代码。

此外,代码看起来更“专业”。

答案 6 :(得分:0)

请参阅我的问题和回答here

基本上,这取决于您的组织和应用程序。如果您的公司,开发人员和客户都使用相同的母语,并且您希望它保持这种状态,那么让每个人都成为兼职翻译者将会非常适得其反。对于纯粹假设的未来优势而言,生产力损失相当大。 YAGNI。

如果它是一家大型国际公司,或者如果有具体的国际扩张计划或在海外完成一些工作,那当然是另一回事。

答案 7 :(得分:0)

我现在也住在德国工作,我们大多使用英语,除了德语的一些旧评论。我认为非英语评论通常非常糟糕,因为你必须花时间去理解它(并且正确理解)。虽然德语和英语都不是我的母语,但用英语以外的其他语言编写的代码似乎很奇怪。

您永远不会知道第二天谁会处理您的代码。所以你应该使用通用的IT语言。

P.S。由于我不喜欢我的开发环境中的非英语语言,因此当我拒绝将我的PC安装到德语Windows,德语办公室和德语Visual Studio时,我让本地管理员非常生气。我花了很多时间才下载英文版。

虽然我认为有一天安装一个语言包或只是同一个软件的不同副本只是为了学习术语。法语SQL Management Studio让我非常兴奋,就像我试图将Skype转换为西班牙语一样。