如果您有API,并且您是英国的开发人员且具有很高的国际受众,那么您的API应该是
setColour()
要么
setColor()
(以一个字为例)。
英国工程师通常对自己的“正确”拼写颇为防御,但可以说美国拼写在国际市场上更为“标准”。
我想问题是重要的吗?其他地区的开发人员是否在拼写GB拼写方面挣扎,还是通常很清楚这是什么意思?
都是美国英语吗?
如果您有API,并且您是英国的开发人员且具有很高的国际受众,那么您的API应该是
setColour()
要么
setColor()
(以一个字为例)。
英国工程师通常对自己的“正确”拼写颇为防御,但可以说美国拼写在国际市场上更为“标准”。
我想问题是重要的吗?其他地区的开发人员是否在拼写GB拼写方面挣扎,还是通常很清楚这是什么意思?
都是美国英语吗?
Answers:
取决于您看到大多数客户的位置。我个人更喜欢在我的私人代码中使用English-GB(例如Colour),但是我去Color寻求外部发布的应用程序/ API /代码!
假设这是Java或C#API,考虑到IDE中自动完成功能的普遍性,这可能并不重要。如果这是一种动态语言,或者不是现代IDE的惯用语言,那么我会使用美国拼写。我当然是美国人,因此显然有偏见,但似乎我从不是以英语为母语的开发人员那里看到的大多数代码都使用美国拼写作为其变量名等。
大多数开发文档(就像MSDN一样)都使用美式英语。
因此,如果您要面向国际受众,最好还是留在主流并在API中使用美式英语。
我得到了另一个示例:序列化和序列化。:)
就个人而言,我认为这并不重要。我从事的项目使用的是英式英语拼写国家,而他们使用的是英国拼写。它仍然是英语,由于Intellisense,它并没有多大关系。
如果可能,我会尝试寻找其他单词。我将让-ize幻灯片。对于颜色,我可能会使用色相,墨水,前景/背景...
如果不是这样,作为英国人,我会使用en-GB,因为我对自己的国家和血统有一些自豪感。
但是,如果要成为更大项目的一部分,尤其是国际项目,我将使整个项目保持一致,其中一小部分是一种语言版本,其余部分是另一种语言版本。
我还不得不站在美式英语的一边,仅仅是为了保持一致(就像其他人已经在这里指出的那样)。尽管我是说美国英语的母语人士,但我已经与德国和瑞典的软件公司一起完成了软件项目,在这两种情况下,这种诱惑偶尔都会使我的队友在代码中使用德语或瑞典语文字-通常是出于评论的目的,但是有时也用于变量或方法名称。即使我会说这些语言,也确实让我感到震颤,这使得在项目中引入新的非母语人士变得更加困难。
大多数欧洲软件公司(至少与我合作过的公司)的行为方式相同-代码保留英语,仅仅是因为如果其他程序员加入,这会使代码对国际更友好。但是,内部文档通常倾向于以母语完成。
就是说,这里的区别是关于英语的两种不同的方言,这并不像在同一源代码文件中看到两种完全不同的语言那样极端。因此,我想说的是,将API保留为美国英语,但如果您更适合,则使用GB-英语。
首先,我在美国。在我当前的项目中,它始终是“颜色”,但是,我们似乎无法为其选择拼写的单词是“灰色”与“灰色”。
实际上变得很烦人。
选择标识符名称的语言与受众无关,而与开发框架或API的原始语言无关。
我的语言不是很多,但是我想不出一种语言会使用除美国英语以外的其他语言。
恕我直言,由于拼写不同而引入细微错误的危险太大。
函数覆盖很容易变成伪重载。
由于拼写不同,配置文件可能变得无效。
可能会出现这样的情况,即使用en-US和en-GB使用多个类定义了相同的概念对象。
因此,无论一段代码是纯粹内部使用还是外部使用,所使用的拼写都必须始终与平台/框架/编译器/ API的原始语言匹配。
您需要考虑您的听众。谁将使用该代码,他们期望看到什么?
我在一家在加拿大和美国都设有办事处的公司工作。在加拿大制作文档和代码时,我们使用加拿大的拼写(非常类似于英式英语),而在美国,则使用美国的拼写。
有些东西是跨界的,但拼写差异很少成为问题。当美国人不知道加拿大英语和英国英语的拼写不同时,它会引起一些有趣的对话。有时他们会接受,有时他们坚持要求改成“正确”的拼写。这也会影响日期格式(加拿大的dd / mm / yyyy和美国的mm / dd / yyyy)
如果出现僵局,我们通常会采用美国的拼写,因为加拿大人都熟悉这两种变体。
我听说选择美国而不是英国英语的主要原因是,当英国观众面对美国拼写时,意识到它是美国的应用程序(或假设是这样),而面对英国拼写的美国观众则认为“。”。嘿,那是错误的。
但是就像其他人所说的那样,标准化。选择并坚持下去。
我是其中之一,每次我被迫在设置文件等中使用美式英语时,心率和血压都会升高,原因是该软件未提供用于英式英语的选项,但这仅仅是我 :)
我个人对此的看法是提供两种拼写,给它们提供setColor()和setColour(),在其中之一中编写代码,然后让第二个通过参数。
通过这种方式,您可以让两个小组都开心,因为您的智力会更长一些,但是至少人们不能用“错误”的语言来抱怨您。
我在所有编程中始终使用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。也许出于如此琐碎的目的而过度杀伤,但嘿,如果它看起来很重要,为什么不呢!:)