Британский английский или американский английский?

StackOverflow https://stackoverflow.com/questions/157807

Вопрос

Если у вас есть API и вы являетесь британским разработчиком с международной аудиторией, должен ли ваш API быть

setColour()

или

setColor()

(В качестве простого примера возьмем одно слово.)

Инженеры из Великобритании часто весьма настороженно относятся к своему «правильному» написанию, но можно утверждать, что американское правописание является более «стандартным» на международном рынке.

Думаю, вопрос в том, имеет ли это значение?У разработчиков в других регионах возникают проблемы с правописанием GB, или обычно совершенно очевидно, что все это означает?

Должно ли все это быть американо-английским?

Это было полезно?

Решение

Я бы предпочел использовать американский английский, поскольку это стало нормой для других API.Говоря как английский программист, у меня нет проблем, например, с использованием слова «цвет».

Другие советы

Я не носитель языка.При написании я всегда стараюсь использовать en-gb.Однако в программировании я всегда использую en-us вместо британского английского по той же причине, по которой я не использую немецкий или французский для своих идентификаторов.

Зависит от того, где вы видите большинство своих клиентов.Лично я предпочитаю использовать английский-GB (например.Color) в моем личном коде, но я перехожу в Color для опубликованных извне приложений/API/кода!

В целом я был бы сторонником написания GB, но думаю, что код читается намного лучше, если он последовательный, и я обнаружил:

Color lineColor = Color.Red;

выглядеть намного лучше, чем:

Color lineColour = Color.Red;

Я думаю, что в конечном итоге это не имеет большого значения.

Несмотря на то, что я обычно очень педантичен в отношении правильного написания, как британский разработчик, я всегда предпочитаю американское «цветное» написание.Во всех языках программирования, с которыми я сталкивался, дело обстоит именно так, поэтому в целях единообразия использование «цвета» имеет большой смысл.

Предполагая, что это API Java или C#, это, вероятно, не имеет значения, учитывая широкое распространение функции автозаполнения в IDE.Если это динамический язык или язык, для которого современные IDE не являются нормой, я бы выбрал американское написание.Конечно, я американец и поэтому явно предвзят, но кажется, что большая часть кода, который я вижу от разработчиков, для которых английский язык не является родным, использует американское написание имен переменных и т. д.

Как английский программист, я использую en-US для разработки программного обеспечения.Американский английский настолько хорошо доминирует почти во всех остальных API, что гораздо проще придерживаться одного типа написания и устранить двусмысленность.Это пустая трата времени на поиск метода только для того, чтобы обнаружить ошибку в написании на одну букву из-за локализации орфографии.

Я бы придерживался текущих стандартов и выбрал правописание американского английского языка.HTML и CSS являются признанными стандартами с написанием «цвет», во-вторых, если вы работаете с такой средой, как .NET, то, скорее всего, у вас уже есть цвет, доступный в разных пространствах имен.

Ментальный налог, связанный с необходимостью иметь дело с двумя вариантами написания, скорее помешает, чем поможет разработчикам.

Label myLabel.color = setColour();

У меня проблемы с API, которые не на английском языке (США).Просто из-за разницы в написании.Я знаю, что означают эти слова, но меня сбивает с толку разное написание.

Большинство библиотек и фреймворков, с которыми я знаком, используют американское написание.Конечно, я американец, так что...Американский английский — мой родной язык.

Большая часть документации по разработке (как и MSDN) написана на американском английском.

Так что, возможно, лучше придерживаться основного направления и использовать американский английский в своем API, если вы ориентируетесь на международную аудиторию.

У меня есть еще один образец:Сериализация и сериализация.:)

Лично я не думаю, что это имеет большое значение.Я работал над проектами, в которых использовались страны с британско-английским правописанием, а они использовали британское правописание.Это по-прежнему английский язык, и это не имеет большого значения из-за Intellisense.

Будучи канадцем, я постоянно сталкиваюсь с этим.Мне очень трудно набирать «цвет», так как моя мышечная память постоянно тянется к букве «у».

Однако я склонен перенимать язык библиотек.В Java есть класс Color, поэтому я использую цвет.

По возможности стараюсь найти альтернативные слова.Я позволю -ize ускользнуть.Для цвета я мог бы использовать оттенок, чернила, передний план/фон...

Если нет, то как англичанин я буду использовать en-GB, потому что у меня еще осталась гордость за свою страну и происхождение.

Однако, если бы это было частью более крупного проекта, особенно международного, я бы сохранил весь проект последовательным, при этом небольшая его часть была бы в одном языковом варианте, а остальная часть — в другом.

Мне также придется встать на сторону американо-английского языка, просто чтобы сохранить единообразие (как уже отмечали здесь другие).Хотя я носитель американского и английского языков, я работал над программными проектами как с немецкими, так и со шведскими компаниями-разработчиками программного обеспечения, и в обоих случаях у моих товарищей по команде иногда возникало искушение использовать немецкий или шведский текст в коде - обычно для комментариев, но иногда также для имен переменных или методов.Несмотря на то, что я говорю на этих языках, это сильно раздражает глаза и затрудняет привлечение в проект нового человека, не говорящего на нем.

Большинство европейских компаний-разработчиков программного обеспечения (по крайней мере, те, с которыми я работал) ведут себя таким же образом — код остается на английском языке просто потому, что это делает код более дружественным к международному сообществу, если к нему придет другой программист.Однако внутренняя документация обычно ведется на родном языке.

Тем не менее, различие здесь заключается в двух разных диалектах английского языка, что не так радикально, как наличие двух совершенно разных языков в одном файле исходного кода.Поэтому я бы посоветовал оставить API на английском языке (США), но ваши комментарии на английском языке, если вам это больше подходит.

Я бы посоветовал посмотреть, как другие библиотеки на вашем языке выбирают и следуют своим соглашениям.

Разработчики языка программирования и его встроенных API сделали выбор, и независимо от того, являются ли пользователи международными или нет, они привыкли видеть варианты написания, соответствующие этому выбору.Вы нацелены не на носителей другого языка, а на пользователей языка программирования.Скорее всего, они выучили немало слов на иностранном языке с помощью встроенных API и могут не знать о различиях между американским английским и британским английским.Не путайте их, меняя стороны пруда.

В основном я использую языки .NET, а .NET Framework использует правописание американского английского языка.На этой платформе я бы придерживался американского английского.Мне неизвестны какие-либо языки, стандартизированные для английского английского языка, но если у вас это есть, то во что бы то ни стало оставайтесь в соответствии с языком.

Я согласен с труппой сторонников Америки.Я сам предпочитаю en-GB при написании электронных писем и тому подобном, но американский английский в значительной степени является стандартом во всех кругах программирования.

Несмотря на то, что на британском английском говорят во всем мире, я рекомендую использовать американский английский, который, как говорят другие, доминирует на рынке.

Определенно американский английский.

Во-первых, я в США.В моем текущем проекте это всегда «цвет», однако слово, для которого мы не можем подобрать написание, — это «серый» или «серый».

На самом деле это стало очень раздражать.

Я один из тех людей, у которых учащается сердцебиение и кровяное давление каждый раз, когда мне приходится использовать американский английский в установочных файлах и т. д., поскольку программное обеспечение не предоставляет возможности использовать британский английский, но это всего лишь мне :)

Однако мое личное мнение по этому поводу заключалось бы в том, чтобы предоставить оба варианта написания, дать им setColor() и setColour(), написать код в одном из них, а второй просто передать параметры.

Таким образом, вы сделаете обе группы счастливыми, пусть ваш интеллект станет немного дольше, но, по крайней мере, люди не смогут жаловаться на то, что вы используете «неправильный» язык.

Выбор языка для имен идентификаторов не имеет ничего общего с аудиторией и полностью зависит от исходного языка, на котором была разработана платформа или API.

Я знаю не так уж много языков, но не могу вспомнить ни одного, где бы использовалось что-либо кроме американского английского.

ИМХО, опасность внесения тонких ошибок из-за разного написания слишком велика.

Переопределение функции может легко стать псевдоперегрузкой.

Файл конфигурации может стать недействительным из-за разницы в написании.

Может возникнуть ситуация, когда один и тот же концептуальный объект был определен с использованием нескольких классов, используя как en-US, так и en-GB.

Таким образом, независимо от того, предназначен ли фрагмент кода исключительно для внутреннего использования или предназначен для внешнего использования, используемое написание всегда должно соответствовать исходному языку платформы/фреймворка/компилятора/API.

Если все ваши программисты — британцы, используйте en-gb.Если ваш код увидят программисты за пределами Великобритании, то en-us будет лучшим выбором.

Один незначительный момент: мы полагаемся на службу перевода для копирования нашей документации на другие языки.Мы обнаружили, что переводы становятся лучше, если использовать en-us в качестве источника.

Вам нужно учитывать свою аудиторию.Кто будет использовать код и что они ожидают увидеть?

Я работаю в компании, у которой есть офисы в Канаде и США.Мы используем канадское правописание (очень похожее на британское английское) при создании документации и кода в Канаде, а также американское правописание для того, что используется в США.

Некоторые вещи пересекают границы, но разница в написании редко является проблемой.Это действительно может вызвать интересный диалог, когда американцы не знают о разном написании канадского и британского английского.Иногда их это устраивает, иногда они настаивают на изменении написания на «правильное».Это также влияет на форматы даты (дд/мм/гггг в Канаде и мм/дд/гггг в США).

Когда возникает тупиковая ситуация, мы обычно используем американское написание, поскольку жители Канады знакомы с обоими вариантами.

Основная причина выбора американского английского вместо британского английского заключается в том, что британская аудитория, столкнувшись с американским правописанием, понимает, что это американское приложение (или предполагает, что это так), тогда как американская аудитория, столкнувшаяся с британским правописанием, думает: «... .эй, это неправильно..это цвет, а не цвет»

Но, как уже говорили другие, стандартизируйте.Выбирайте и придерживайтесь этого.

Для меня естественно работать на британском английском, даже не задумываясь об этом.Однако если вы разрабатываете внутренние процедуры, это не имеет особого значения.Если вы создаете API, которые будут использоваться публично, и ваша аудитория интернациональна, почему бы не реализовать оба?

Я предпочитаю американский английский.

Если вы оглянетесь на несколько сотен лет назад, вы обнаружите, что эти изменения не имеют никакого отношения к США, как многие могли бы подумать.Изменения происходят из-за европейского влияния, особенно французского.До этого английское слово «цвет» на самом деле писалось как «цвет».

Попытки стандартизировать были бы бесполезны, поскольку половина китайских детей изучают доевропейское влияние и американское понимание английского языка, в то время как другая половина воспринимает его в его нынешнем виде, как английский язык.

Если вы считаете, что язык — это проблема, вам следует рассмотреть тайваньский килограмм, который весит 600 г.Мне еще предстоит выяснить, как им это удалось, но я надеюсь, что их никогда не будут использовать в качестве персонала, заправляющего самолеты!

Я всегда использую 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-интерфейсы в той культуре, которую он предпочитает.Возможно, это излишне для такой тривиальной цели, но, эй, если это кажется важным, почему бы и нет!:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top