英国英语还是美国英语?

117

如果您拥有一个API,并且您是一名总受众面高度国际化的英国开发人员,那么您的API应该被

setColour()
或。
setColor()

(以一个简单的单词为例。)

总体上,英国工程师对他们的“正确”拼写方式往往持守防御态度,但可以说美式拼写在国际市场上更具有“标准性”。问题在于这是否重要?其他地区的开发人员是否难以理解英式拼写,还是通常很明显事物的含义?

应该全部使用美式英语吗?


3
包括它们两个,这样不会伤害你。 - Amarghosh
1
我们的教育系统总是教授en-gb,所以我习惯在代码中写en-gb。(有时候我会懒得,在开发针对中国客户的代码时插入一些中文标识符,后来这些标识符被改成了英文) - Michael Tsang
28个回答

3

大部分开发文档(就像MSDN一样)都是用美式英语编写的。

因此,如果您的目标受众是国际化的,最好跟随主流并在API中使用美式英语。


2
作为一个加拿大人,我经常遇到这个问题。由于我的肌肉记忆不断地让我去按'u'键,所以将“color”打成正确的形式非常困难。
然而,我倾向于使用库的语言。Java有Color类,所以我使用color。

1
"c", "o", "l", Ctrl+Space, "." “c”,“o”,“l”,Ctrl+Space,“.” - Tom

2

我会尽可能寻找替代词。我可以使用色调、墨水、前/背景来代替 "Color" ...

如果不行,作为一个英国人,我会使用 en-GB,因为我还有一些对我的国家和起源的自豪感。

但如果它是一个更大的项目,特别是一个国际性的项目,我会保持整个项目的一致性,而不是让一个小部分用一种语言,其他部分用另一种语言。


2
我不同意使用前景/背景而不是颜色。前/背景也可以表示图案,例如。如果你想设置/获取颜色,那就应该这样称呼它。缺少/额外的'u'比一个命名错误的属性更容易引起混淆。 - Treb
1
这只是对示例的吹毛求疵,而不是原则,但也说得过去。 - JeeBee
3
顺便说一句,-ize 拼写不是美式英语! - Jules
1
@Jules 是的,没错。 - igorcadelima
2
@igorcadelima 在英国常用,但请考虑:https://en.wikipedia.org/wiki/Oxford_spelling - Jules

1

明确是美式英语。


1

首先,我在美国。 在我的当前项目中,它总是“color”,但是我们无法确定拼写的单词是“grey” 还是 “gray”。

这实际上变得非常烦人。


1
选择标识符名称的语言与受众无关,而与开发框架或API的原始语言有关。我不太了解很多语言,但我想不出还有哪种语言使用的不是美式英语。根据我的看法,由于不同拼写方式可能引入微妙的错误,引入错误的风险太大了。函数重载很容易成为伪重载。配置文件可能会因为拼写不同而变得无效。可能会出现同一概念对象已使用多个类定义的情况,同时使用en-US和en-GB。因此,无论代码是纯粹用于内部使用还是也用于外部使用,所使用的拼写必须始终与平台/框架/编译器/API的原始语言相匹配。

我只关心我们API内的一致性。例如,如果我们的软件包针对英国,则只能使用en-gb,绝不能拼写为“color”。 - Michael Tsang
迈克尔,我猜你也写自己的基类库了吧? - Umar Farooq Khawaja

1

我是那种每次被迫在设置文件等中使用美式英语时,心率和血压都会上升的人,因为软件没有提供英式英语选项,但这只是我的个人看法 :)

然而,我的个人意见是提供两种拼写方式,即setColor()和setColour(),在其中一种中编写代码,并使第二种通过参数传递。

这样,您可以让两个群体都感到满意,尽管您的智能提示会变得有点长,但至少人们不能抱怨您使用了“错误”的语言。


7
这不是一个好主意。API 会充斥着冗余的方法。 - McDowell
6
这是一个非常不好的解决方案。你可能会让很多人感到困惑,因为他们试图弄清setColour和setColor之间的区别。此外,如果在API中有许多带有单词“colour”的方法,它可能会产生很多混乱。 - Kibbee
2
我的想法完全一样。提供两种拼写方式并将它们归档为相同的文档对你来说没有任何成本。至于冗余反对意见,实用性胜过正交性。 - Dave Sherohman

1
我也支持美式英语,这样可以保持一致性(正如其他人在此已经指出的那样)。虽然我是美式英语的母语者,但我曾与德国和瑞典软件公司合作完成了软件项目,在这两种情况下,我的队友时不时地会有用德语或瑞典语注释代码的冲动——通常是在注释中使用,但有时也会在变量或方法名称中使用。即使我能说这些语言,这真的会令人不适,而且还会让新的非本族语者加入项目变得更加困难。
大多数欧洲软件公司(至少是我合作过的那些)都会采用相同的方式——代码仍然以英语书写,因为这使得代码更加友好,如果另一个程序员加入项目,他也能够理解。内部文档通常以本地语言为主。
话虽如此,这里的区别在于两种不同的英语方言,这并不像在同一源代码文件中看到两种完全不同的语言那么极端。因此,我建议将API保留为美式英语,如果您认为更适合的话,在注释中使用英式英语。

1

我建议看看你所使用语言的其他库是如何选择和遵循它们的惯例的。

编程语言及其内置API的设计者做出了选择,无论用户是否国际化,他们都习惯于看到与此选择一致的拼写。你的目标不是针对不同语言的说话者,而是针对编程语言的用户。很可能他们已经从内置API中学会了许多外语单词,并且可能不知道美式英语和英式英语之间的差异。不要通过改变用词方式来混淆他们。

我主要使用.NET语言,.NET Framework使用美式英语拼写。在这个平台上,我会坚持使用美式英语。我不知道有哪些语言标准化了英式英语,但如果你的语言确实这样做了,那么请保持语言的一致性。


1

我同意“选择美式英语”的观点。在写电子邮件等方面,我个人更喜欢使用en-GB,但在所有编程领域中,美式英语几乎是标准。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接