Цвет вместо цвета?

Я работаю над игровым механизмом в C++, и у меня есть методы как setColour и вещи та британская грамматика использования. В то время как я думал, как компиляторы C++ главным образом используют английский язык (исправьте меня, если я неправ), и как большинство API использует американскую грамматику, я должен пойти с потоком и продолжить неофициальный стандарт в программисте грамматики высокий совет или быть мятежником?

Я не уверен который.

16
задан Jonathan Leffler 9 January 2015 в 23:04
поделиться

9 ответов

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

27
ответ дан 30 November 2019 в 15:06
поделиться

Как австралиец, я придерживаюсь тех же соображений.

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

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

И если это означает, что вы должны придерживаться своего английского правописания, делайте это с долей гордости;)

5
ответ дан 30 November 2019 в 15:06
поделиться

Я британец, и считаю, что правильнее всего будет стиснуть зубы и использовать Цвет . Обычно я бы не ожидал, что немецкоязычный программист будет использовать Farbe в общедоступном API [*], и я бы не ожидал, что мне придется предоставлять альтернативные варианты написания, такие как finalize vs ] завершить или локализацию по сравнению с локализацией .

Компилятор укажет на любые ошибки, поэтому я думаю, что давать альтернативные имена для вещей неправильно. Если подумать, это может даже помешать некоторым программистам, поскольку автозаполнение IDE будет еще кое-что. Если вы собираетесь использовать единственное написание, то тогда «Цвет» - это такое распространенное слово в API, обычно пишущееся без «u», что было бы умышленной идиосинкразией писать его любым другим способом. Это никому не помогает.

Очевидно, что нет решающего аргумента - вы можете вызвать свои функции method001 , method002 , если хотите, и код все равно будет работать, поэтому Color является незначительная причуда по сравнению. Но есть тонкая грань между «причудливым» и «человеконенавистническим».

[*] Я имею в виду, потому что он считает его более читаемым, чем Цвет . Если он совсем не говорит по-английски, у него нет выбора.

11
ответ дан 30 November 2019 в 15:06
поделиться

Мое правило, как канадец, - использовать «цвет» в идентификаторах и «цвет» в комментариях. Например:

/// <summary>Return the colour in CIE Lab space.</summary>
public GetLabColor() : double * double * double;
2
ответ дан 30 November 2019 в 15:06
поделиться

Почему бы не интернационализировать имена методов. Я предлагаю два варианта для этого. * Назвать ваши методы следующим образом 'method1', 'method2' и предоставить разные шпаргалки для разных местных жителей, так что в Британии будет method1=setColour, а в Америке они увидят method1=setColor.

Другой вариант - использовать что-то вроде ASM, чтобы переписать файлы классов внутри ваших jar-файлов так, чтобы для американцев метод был "setColor", а в Британии и других странах Содружества они видели "setColour". Это устранит необходимость в дублировании setColor/setColour, как уже предлагал кто-то другой.

1
ответ дан 30 November 2019 в 15:06
поделиться

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

5
ответ дан 30 November 2019 в 15:06
поделиться

Будьте бунтарем! Переходите на родной английский.

Если вам хочется подколоть американцев, предоставьте им функции прикрытия с неправильным написанием (лицеприятно: но только убедитесь, что они работают настолько медленнее, что предпочитают использовать правильное написание).

11
ответ дан 30 November 2019 в 15:06
поделиться

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

9
ответ дан 30 November 2019 в 15:06
поделиться

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

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

РЕДАКТИРОВАТЬ: Я считаю, что вопрос не затрагивается всеми ответами, в которых говорится, что вам следует просто придерживаться американского правописания: есть много случаев, когда (насколько мне известно) американское правописание само по себе не сходится, например «параметризовать» или «параметризовать» (и обратите внимание, что я использовал «z», так что оба они написаны в Америке).

3
ответ дан 30 November 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: