سؤال

إذا كان لديك واجهة برمجة تطبيقات ، وكنت مطورًا مقراً

setColour()

أو

setColor()

(لأخذ كلمة واحدة كمثال بسيط.)

غالبًا ما يكون المهندسون الذين يتخذون من المملكة المتحدة في كثير من الأحيان دفاعيًا عن تهجفهم "الصحيحة" ، لكن يمكن القول أن التهجئة الأمريكية هي أكثر قياسية في السوق الدولية.

أعتقد أن السؤال هل هو مهم؟ هل يكافح المطورون في أماكن أخرى مع إملاء GB ، أم أنه عادة ما يعني ما تعني الأشياء؟

هل يجب أن يكون كل شيء الولايات المتحدة الإنجليزية؟

هل كانت مفيدة؟

المحلول

أود أن أميل إلى استخدام الولايات المتحدة الإنجليزية لأن ذلك أصبح المعيار في واجهات برمجة التطبيقات الأخرى. التحدث كمبرمج باللغة الإنجليزية ، ليس لدي أي مشكلة في استخدام "اللون" ، على سبيل المثال.

نصائح أخرى

أنا لست متحدثًا أصليًا. في الكتابة ، أحاول دائمًا استخدامها en-gb. ومع ذلك ، في البرمجة أستخدمها دائمًا en-us بدلاً من اللغة الإنجليزية البريطانية لنفس السبب في أنني لا أستخدم الألمانية أو الفرنسية لمعرفاتي.

يعتمد على المكان الذي ترى فيه معظم عملائك. أنا شخصياً أفضل استخدام English-GB (EG Color) في الكود الخاص بي ، لكنني أذهب إلى الألوان للتطبيقات/API/Code المنشورة خارجيًا!

بشكل عام ، سأكون متمسكًا بتهجئة GB ، لكنني أعتقد أن الكود يقرأ بشكل أفضل إذا كان ثابتًا وأجد:

Color lineColor = Color.Red;

لتبدو أفضل بكثير من:

Color lineColour = Color.Red;

أعتقد أنه في النهاية لا يهم حقًا.

على الرغم من أنني عادة ما أكون متحمسًا جدًا حول الإملاء الصحيح ، كمطور في المملكة المتحدة ، كنت دائمًا ما أذهب مع الإملاء الأمريكي ". في جميع لغات البرمجة التي واجهتها ، يبدو الأمر هكذا ، لذلك من أجل الاتساق ، باستخدام "اللون" أمر منطقي.

على افتراض أن هذا Java أو C# API ، ربما لا يهم نظرًا لانتشار الوظائف التلقائية في IDEs. إذا كان هذا الأمر بالنسبة إلى لغة ديناميكية أو لغة لا تكون فيها IDEs الحديثة هي القاعدة التي سأذهب إليها مع الهجاء الأمريكيين. بالطبع أنا أمريكي ، وبالتالي أنا متحيز بشكل واضح ، لكن يبدو أن معظم التعليمات البرمجية التي أراها من المطورين الذين ليسوا متحدثين باللغة الإنجليزية يستخدموننا تهجئة لأسمائهم المتغيرة وما إلى ذلك.

كمبرمج باللغة الإنجليزية ، أستخدم en-us لبرنامجي dev. تهيمن اللغة الإنجليزية الأمريكية بشكل جيد على كل واجهة برمجة تطبيقات أخرى تقريبًا بحيث يكون من الأسهل بكثير التمسك بنوع واحد من الإملاء وإزالة الغموض. إنها مضيعة للوقت في البحث عن طريقة فقط للعثور على الإملاء من خلال حرف واحد بسبب الموضع الإملائي.

سأذهب مع المعايير الحالية وأختار الهجاء الإنجليزي الأمريكي. يتم الاعتراف بـ HTML و CSS مع "اللون" الإملائي ، ثانياً ، إذا كنت تعمل مع إطار عمل مثل .NET ، فمن المحتمل أن يكون لديك بالفعل لونًا متاحًا في مساحات أسماء مختلفة.

إن الضريبة العقلية على الاضطرار إلى التعامل مع هجاء من شأنه أن يعيق المطورين بدلاً من مساعدة المطورين.

Label myLabel.color = setColour();

لدي مشكلة مع واجهات برمجة التطبيقات التي ليست في الولايات المتحدة الإنجليزية. فقط بسبب الاختلافات الإملائية. أنا أعرف ماذا تعني الكلمات ولكن الإملاء المختلفة ترحلي.

معظم المكتبات والأطر التي أنا على دراية باستخدام هجاء الولايات المتحدة. بالطبع ، أنا أمريكي للغاية ... الولايات المتحدة الإنجليزية هي لغتي الأم.

غالبية وثائق التطوير (تمامًا مثل MSDN) باللغة الإنجليزية الأمريكية.

لذلك قد يكون من الأفضل البقاء مع البث الرئيسي واستخدام اللغة الإنجليزية الأمريكية في واجهة برمجة التطبيقات الخاصة بك إذا كنت تستهدف الجمهور الدولي.

حصلت على عينة أخرى: Serialise و Serialize. قون

أنا شخصياً لا أعتقد أن الأمر مهم. لقد عملت في المشاريع التي كانت تستخدم دول الإملاء في المملكة المتحدة والإنجليز ويستخدمون تهجئة المملكة المتحدة. لا يزال اللغة الإنجليزية ولا يهم حقًا بسبب Intellisense.

بصفتي كنديًا ، واجهت هذا طوال الوقت. من الصعب جدًا بالنسبة لي كتابة "اللون" حيث تستمر ذاكرة العضلات في الوصول إلى "U".

ومع ذلك ، أميل إلى تبني لغة المكتبات. جافا لديها فئة الألوان ، لذلك أنا استخدم اللون.

أحاول العثور على كلمات بديلة إن أمكن. سأسمح للانزلاق. للون يمكنني استخدام Hue ، الحبر ، المقدمة/الخلفية ...

إذا لم يكن الأمر كذلك ، بصفتي رجلًا إنجليزيًا ، سأستخدم En-GB لأن لدي بعض الفخر في بلدي وأصوله.

إذا كان من المقرر أن يكون جزءًا من مشروع أكبر ، خاصةً مشروعًا دوليًا ، فسأبقي المشروع بأكمله متسقًا فوق وجود جزء صغير في تباين اللغة والباقي في آخر.

سأضطر أيضًا إلى جانبنا مع اللغة الإنجليزية ، ببساطة للحفاظ على الأمور متسقة (كما لاحظ الآخرون بالفعل هنا). على الرغم من أنني متحدث أصلي للولايات المتحدة الأمريكية ، فقد فعلت مشاريع برمجيات مع كل من شركات البرمجيات الألمانية والسويدية ، وفي كلتا الحالتين ، فإن الإغراء سيضرب أحيانًا زملائي في الفريق لاستخدام النص الألماني أو السويدي في الكود-عادةً للتعليقات ، ولكن في بعض الأحيان أيضا لأسماء المتغير أو الأسلوب. على الرغم من أنني أستطيع التحدث بهذه اللغات ، إلا أنه من الصعب حقًا جلب غير مكبرات الصوت الجديدة إلى المشروع.

تتصرف معظم شركات البرمجيات الأوروبية (على الأقل تلك التي عملت معها) بنفس الطريقة-يبقى الرمز باللغة الإنجليزية ، وذلك ببساطة لأن هذا يجعل الكود أكثر ملاءمة الدولية في حالة ظهور مبرمج آخر. عادة ما تميل الوثائق الداخلية إلى اللغة الأم.

ومع ذلك ، فإن التمييز هنا هو حول لهجتين مختلفتين من اللغة الإنجليزية ، وهو أمر غير متطرف تمامًا مثل رؤية لغتين مختلفتين تمامًا في ملف رمز المصدر نفسه. لذلك أود أن أقول ، حافظ على واجهة برمجة التطبيقات (US-English) ، لكن تعليقاتك باللغة الإنجليزية GB-English إذا كانت تناسبك بشكل أفضل.

أود أن أقول نظرة على كيفية اختيار المكتبات الأخرى في لغتك واتبع مؤتمرها.

قام مصممو لغة البرمجة وواجهة برمجة التطبيقات المدمجة باختيارها ، وما إذا كان المستخدمون دوليين أم لا يعتادون على رؤية الهجايا بما يتفق مع هذا الاختيار. أنت لا تستهدف متحدثين بلغة مختلفة ولكن مستخدمي لغة البرمجة. الاحتمالات هي أنهم تعلموا بضع كلمات في اللغة الأجنبية من واجهات برمجة التطبيقات المدمجة ، وقد لا يكونون على دراية بوجود اختلافات بين اللغة الإنجليزية الأمريكية و GB الإنجليزية. لا تخلطهم عن طريق تبديل جوانب البركة.

أستخدم لغات .NET في المقام الأول ، ويستخدم إطار .NET تهجئة اللغة الإنجليزية. على هذا المنصة ، كنت ألتزم معنا الإنجليزية. لست على دراية بأي لغات موحدة على اللغة الإنجليزية GB ، ولكن إذا فعلت ذلك ، فاستمر في ذلك بكل الوسائل مع اللغة.

وأنا أتفق مع فرقة "Go for American". أنا شخصياً أفضل en-gb عند كتابة رسائل البريد الإلكتروني وما شابه ، لكن اللغة الإنجليزية الأمريكية هي المعيار إلى حد كبير في جميع دوائر البرمجة.

على الرغم من أن اللغة الإنجليزية البريطانية هي ما يتم التحدث به في جميع أنحاء العالم - أوصي باستخدام اللغة الإنجليزية الأمريكية التي قال مثل الآخرين الذين قالوا للسيطرة على السوق.

بالتأكيد الولايات المتحدة الإنجليزية.

First, I'm in the US. In my current project, it's always "color" however, the word we can't seem to pick a spelling for is "grey" vs "gray".

It's actually gotten quite annoying.

I'm one of these people who's heart rate and blood pressure rises each time I'm forced to use American English in setup files, etc, due to the fact that the software doesn't give the option for British English, but that's just me :)

My personal opinion on this one however would be to provide both spellings, give them setColor() and setColour(), write up the code in one of them, and just have the second one pass the parameters through.

This way you keep both groups happy, granted your intellisense gets a bit longer, but at least people can't complain about you using the 'wrong' language.

Selection of language for identifier names has nothing to do with audience and everything to do with the original language in which the framework or API was developed.

I don't know very many languages but I cannot think of a single one that uses anything other than US English.

The dangers of introducing subtle bugs due to different spellings are too great IMHO.

A function override can easily become an pseudo-overload.

A config file could become invalid due to difference in spellings.

A situation might arise where the same conceptual object has been defined using multiple classes, using both en-US and en-GB.

So therefore, whether a piece of code is purely for internal use or intended for external use as well, the spellings used must always match the original language of the platform/framework/compiler/API.

If all of your programmers are British, use en-gb. If your code will be seen by programmers outside of Britain, then en-us would be a better choice.

One minor point, we rely on a translation service to copy our documentation in to other languages. We have found we get better translations when using en-us as the source.

You need to consider your audience. Who is going to use the code and what are they expecting to see?

I work in a company that has offices in both Canada & US. We use Canadian spelling (very similar to British English) when producing documentation and code in Canada and US spelling for what is used in the US.

Some things cross borders, but the difference in spelling is rarely an issue. It acutally can generate some interesting dialogue when American's are not aware of different spellings for Candian and British English. Sometimes they are OK with it, othertimes they insist on it changing to the "correct" spelling. This also affects date formats (dd/mm/yyyy in Canada and mm/dd/yyyy in US)

When there is an impasse, we typically go with the US spelling since the people in Canada are familiar with both variations.

The main reason I've heard for choosing US over UK English is because the UK audience, when confronted with US spelling, realise it's a US application (or presume it is so), whereas a US audience confronted with UK spelling thinks '... hey, that's wrong.. it's color not colour'

But like others have said, standardise. Pick on and stick with it.

It comes naturally for me to work in UK English without even thinking about it. However, if you are developing internal procedures it doesn't really matter. If you are creating APIs that will be used publicly, and your audience is international, why not implement both?

I prefer US English.

If you look back a few hundred years, you will find the change has nothing at all to do with the US, much as many would think so. The changes stem from European influences, particularly the French. Before that time, the English word "colour" was then actually spelt "color".

To try to standardise would be futile as half of Chinese children are learning the pre European influence and US understanding of English, while the other half are taking it up as it stands today, as the English language.

If you think language is a problem, then you should consider the Taiwan Kg which weighs in at 600g. I've yet to find out how they managed that one, but I hope they are never employed as aircraft fuelling personnel!

I always use en-GB for all my programming. I guess it's due to a heavy influence of British novels.

However, might it not be possible to have two different sets of APIs (one for en-US, one for en-GB) which internally call the same function? This might bloat the header files though, so maybe depending upon a preprocessor definition, a conditional compilation? If you're using C++, you could do something like below...

#ifdef ENGB
     typedef struct Colour
     {
      //blahblahblah
     };
     void SetColour(Colour c);
#else
    typedef struct Color
    {
      //blahblahblah
    };
    void SetColor(Color c);
#endif

Depending upon whether the client programmer defines ENGB or not as below

#define ENGB

he could use the APIs in the culture that he prefers. Maybe overkill for such a trivial purpose, but hey, if it seems important, why not! :)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top