如果您有一个 API,并且您是英国开发人员,拥有高度国际化的受众,那么您的 API 应该是
setColour()
或者
setColor()
(以一个词为例。)
英国工程师通常对他们的“正确”拼写相当防御,但可以说美国拼写在国际市场上更“标准”。
我想问题是这有关系吗?其他语言环境的开发人员是否在为 GB 拼写而苦恼,还是通常很明显事物的含义?
应该都是美式英语吗?
如果您有一个 API,并且您是英国开发人员,拥有高度国际化的受众,那么您的 API 应该是
setColour()
或者
setColor()
(以一个词为例。)
英国工程师通常对他们的“正确”拼写相当防御,但可以说美国拼写在国际市场上更“标准”。
我想问题是这有关系吗?其他语言环境的开发人员是否在为 GB 拼写而苦恼,还是通常很明显事物的含义?
应该都是美式英语吗?
我倾向于使用美式英语,因为这已成为其他 API 的规范。例如,作为一名英语程序员,我对使用“颜色”没有任何问题。
我不是母语人士。在写作中,我总是尝试使用en-gb
. 然而,在编程中,我总是使用en-us
英式英语而不是英式英语,原因与我不使用德语或法语作为标识符的原因大致相同。
一般来说,我会成为 GB 拼写的坚持者,但我认为如果代码一致,代码会读起来更好,我发现:
Color lineColor = Color.Red;
看起来比:
Color lineColour = Color.Red;
我想最终这并不重要。
取决于您在哪里看到大多数客户。我个人更喜欢在我的私人代码中使用 English-GB(例如 Colour),但我会使用 Color 来获取外部发布的应用程序/API/代码!
尽管我通常对正确拼写非常迂腐,但作为一名英国开发人员,我总是会使用美式“颜色”拼写。在我遇到的所有编程语言中,都是这样的,所以为了保持一致性,使用“颜色”很有意义。
假设这是一个 Java 或 C# API,考虑到 IDE 中自动完成功能的普遍性,它可能并不重要。如果这是一种动态语言或现代 IDE 不是标准的语言,我会使用美国拼写。当然,我是美国人,因此显然有偏见,但似乎我从非英语母语的开发人员那里看到的大多数代码都使用美国拼写作为变量名等。
作为一名英语程序员,我将 en-US 用于我的软件开发。美式英语在几乎所有其他 API 中都占主导地位,因此坚持一种拼写并消除歧义要容易得多。由于拼写本地化,寻找一种方法只是发现拼写偏离了一个字母是浪费时间。
我会按照当前标准选择美国英语拼写。HTML 和 CSS 是具有拼写“颜色”的公认标准,其次,如果您正在使用像 .NET 这样的框架,那么您很可能已经在不同的名称空间中提供了颜色。
必须处理两个拼写的心理负担会阻碍而不是帮助开发人员。
Label myLabel.color = setColour();
我在使用非美式英语的 API 时遇到问题。只是因为拼写不同。我知道这些词是什么意思,但不同的拼写让我很吃惊。
我熟悉的大多数库和框架都使用美国拼写。当然,我是美国人,所以... 美式英语是我的母语。
我得到了另一个样本:序列化和序列化。:)
就个人而言,我认为这并不重要。我参与过使用英式拼写国家的项目,他们使用英式拼写。它仍然是英语,由于 Intellisense,它并不重要。
大多数开发文档(就像 MSDN)都是美式英语。
因此,如果您的目标是国际受众,最好保持主流并在您的 API 中使用美式英语。
作为加拿大人,我经常遇到这种情况。我很难输入“颜色”,因为我的肌肉记忆一直在寻找“u”。
但是,我倾向于采用图书馆的语言。Java 有 Color 类,所以我使用颜色。
如果可能的话,我会尝试寻找替代词。我会让 -ize 滑动。对于颜色,我可能会使用色调、墨水、前景/背景……
如果不是,作为一个英国人,我会使用 en-GB,因为我对我的国家和出身有一些自豪感。
然而,如果它是一个更大项目的一部分,尤其是一个国际项目,我会保持整个项目的一致性,而不是让一小部分使用一种语言变体,其余的使用另一种语言。
我是这样的人之一,每次我被迫在设置文件等中使用美式英语时,心率和血压都会升高,因为该软件没有提供英式英语的选项,但这只是我 :)
然而,我个人对此的看法是提供两种拼写,给它们 setColor() 和 setColour(),在其中一个中编写代码,然后让第二个传递参数。
通过这种方式,您可以让两个群体都感到高兴,因为您的智能感知会变得更长一些,但至少人们不会抱怨您使用“错误”的语言。
我也将不得不支持美式英语,只是为了保持一致(正如其他人已经在这里指出的那样)。虽然我的母语是美式英语,但我曾与德国和瑞典的软件公司合作过软件项目,在这两种情况下,我的队友偶尔会忍不住在代码中使用德语或瑞典语文本——通常是为了评论,但有时也用于变量或方法名称。尽管我会说这些语言,但它确实让人眼花缭乱,并且让新的不会说语言的人进入项目变得更加困难。
大多数欧洲软件公司(至少与我合作过的公司)的行为方式相同——代码保持为英文,仅仅是因为如果有其他程序员加入,这会使代码更加国际友好。不过,内部文档通常倾向于用母语完成。
也就是说,这里的区别在于两种不同的英语方言,这并不像在同一个源代码文件中看到两种完全不同的语言那么极端。所以我会说,保留美式英语的 API,但如果它更适合你,你的评论用 GB 英语。
我想说看看你的语言中的其他库是如何选择和遵循他们的约定的。
编程语言及其内置 API 的设计者做出了选择,无论用户是否是国际用户,他们都习惯于看到与该选择一致的拼写。您不是针对说其他语言的人,而是针对编程语言的用户。奇怪的是他们已经从内置的 API 中学习了很多外语单词,而且他们可能不知道美国英语和英国英语之间存在差异。不要通过切换池塘的两侧来混淆它们。
我主要使用 .NET 语言,而 .NET Framework 使用美国英语拼写。在这个平台上,我会坚持使用美国英语。我不知道在 GB 英语上有任何标准化的语言,但如果您的语言已经这样做了,那么一定要与该语言保持一致。
我同意“去美国”剧团。我自己在写电子邮件等时更喜欢 en-GB,但美式英语几乎是所有编程界的标准。
尽管世界各地都在说英式英语 - 我建议使用美式英语,就像其他人所说的那样主导市场。
对我来说,用英国英语工作是很自然的事情,甚至不用考虑它。但是,如果您正在开发内部程序,这并不重要。如果您正在创建将公开使用的 API,并且您的受众是国际化的,那么为什么不同时实现这两者呢?
肯定是美国英语。
首先,我在美国。在我目前的项目中,它总是“颜色”,但是,我们似乎无法选择拼写的词是“灰色”与“灰色”。
它实际上变得非常烦人。
我的所有编程都使用 en-GB。我想这是由于英国小说的严重影响。
但是,是否不可能有两组不同的 API(一组用于 en-US,一组用于 en-GB)在内部调用相同的函数?不过,这可能会使头文件膨胀,所以可能取决于预处理器定义、条件编译?如果您使用的是 C++,则可以执行以下操作...
#ifdef ENGB
typedef struct Colour
{
//blahblahblah
};
void SetColour(Colour c);
#else
typedef struct Color
{
//blahblahblah
};
void SetColor(Color c);
#endif
取决于客户端程序员是否定义 ENGB,如下所示
#define ENGB
他可以在他喜欢的文化中使用 API。也许为了这样一个微不足道的目的而矫枉过正,但是,嘿,如果它看起来很重要,为什么不呢!:)
标识符名称的语言选择与受众无关,而与开发框架或 API 的原始语言有关。
我不会很多语言,但我想不出一种使用美国英语以外的任何语言。
恕我直言,由于拼写不同而引入细微错误的危险太大了。
函数覆盖很容易变成伪重载。
由于拼写不同,配置文件可能会变得无效。
可能会出现使用多个类定义相同概念对象的情况,同时使用 en-US 和 en-GB。
因此,无论一段代码是纯粹供内部使用还是供外部使用,所使用的拼写必须始终与平台/框架/编译器/API 的原始语言相匹配。
如果您的所有程序员都是英国人,请使用 en-gb。如果您的代码将被英国以外的程序员看到,那么 en-us 将是一个更好的选择。
一个小问题,我们依靠翻译服务将我们的文档复制成其他语言。我们发现使用 en-us 作为源时,我们得到了更好的翻译。
你需要考虑你的听众。谁将使用该代码,他们希望看到什么?
我在一家在加拿大和美国均设有办事处的公司工作。在加拿大制作文档和代码时,我们使用加拿大拼写(非常类似于英式英语),而在美国使用美国拼写。
有些事情跨越国界,但拼写的差异很少成为问题。当美国人不知道加拿大英语和英国英语的不同拼写时,它实际上可以产生一些有趣的对话。有时他们可以接受,有时他们坚持将其更改为“正确”的拼写。这也会影响日期格式(加拿大的 dd/mm/yyyy 和美国的 mm/dd/yyyy)
当出现僵局时,我们通常使用美式拼写,因为加拿大人熟悉这两种变体。
我听说选择美国而不是英国英语的主要原因是因为英国观众在面对美国拼写时意识到这是一个美国应用程序(或假设是这样),而面对英国拼写的美国观众认为'.. . 嘿,错了.. 是颜色而不是颜色'
但正如其他人所说,标准化。选择并坚持下去。
我更喜欢美式英语。
如果你回顾几百年,你会发现这种变化与美国毫无关系,就像许多人认为的那样。这些变化源于欧洲的影响,尤其是法国的影响。在此之前,英文单词“color”实际上拼写为“color”。
试图标准化将是徒劳的,因为一半的中国孩子正在学习前欧洲的影响和美国对英语的理解,而另一半正在接受今天的英语语言。
如果您认为语言是一个问题,那么您应该考虑重达 600 克的台湾公斤。我还没有弄清楚他们是如何管理那个的,但我希望他们永远不会被聘为飞机加油人员!