Неанглийские проблемы с именами доменов в программировании - PullRequest
9 голосов
/ 26 марта 2009

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

Я, например, из Дании, и кое-что, с чем я много работаю, имеет термин "indblikskode", который в некотором роде переводится как "код понимания". Итак, могу ли я использовать строку "string indblikskode = ..." в коде C # для некоторого веб-сервиса, связанного с этим? Или я пытаюсь использовать перевод, такой как "Insightcode"? Бизнес, в котором я нахожусь, даже не согласуется по своему языку, например, с использованием термина «Organisatorisk enhed» (организационная единица), но так же часто используется сокращение «OU», которое явно сокращено от английского.

Как другие люди справляются с этой проблемой именования, сохраняя согласованность и разумность (во всем - от простых имен переменных в вашем коде до таблиц базы данных и имен серверов)?

Дубликаты:

Ответы [ 8 ]

7 голосов
/ 26 марта 2009

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

2 голосов
/ 26 марта 2009

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

Вы получите такие вещи, как:

OrganisatoriskEnhedFactory::getInstance()->getIndblikskode();
0 голосов
/ 26 марта 2009

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

Вы никогда не узнаете, кто будет работать над вашим кодом на следующий день. Поэтому вы должны использовать универсальный язык ИТ.

P.S. Поскольку я не люблю неанглийские языки в своей среде разработки, я очень разозлился на местного администратора, когда отказался устанавливать мой ПК с немецкой Windows, немецким Office и немецкой Visual Studio. Потребовалось много часов, чтобы загрузить английские версии только для меня.

Хотя я думаю, что было бы хорошо однажды установить языковой пакет или просто другую копию того же программного обеспечения просто для изучения терминологии. SQL Management Studio на французском языке меня очень радует, так же, как когда я пытался переключить Skype на испанский.

0 голосов
/ 26 марта 2009

Смотрите мой вопрос и ответ здесь .

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

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

0 голосов
/ 26 марта 2009

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

Также код выглядит для меня более «профессионально».

0 голосов
/ 26 марта 2009

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

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

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

К непереводимым словам: мы еще этого не пережили - хотя это была какая-то работа по поиску английской фразы для «внутриобщинных поставок» (это вещь для ЕС). Но если это произойдет, я уверен, что мы будем использовать немецкое слово.

0 голосов
/ 26 марта 2009

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

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

0 голосов
/ 26 марта 2009

Поработав в Швейцарии (немецкая сторона, то есть в Цюрихе), и какое-то время жил в Германии, я могу вам сказать, что я еще не видел среду, в которой код не на английском языке. Конечно, приложение может быть написано на немецком языке (но многие профессиональные environemtns в любом случае говорят по-английски), но код (я видел) в основном весь английский.

Трудно писать код на других языках. С одной стороны, API (почти) все на английском языке. Java использует именование JavaBeans, например, так что вам все равно нужно использовать set и get, и «getGeburtstag» просто не имеет такого же звонка, как «getDateOfBirth».

Другие страны могут отличаться, поскольку это мой опыт из германских стран.

...