2009-03-26 3 views
9

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

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

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

Дубликаты:

+0

+1 интересный. Было бы интересно узнать от людей, что они делают с непереводимыми словами, поскольку он указывает, что код «indblikskode» не означает многого на английском языке? –

+0

Проблема в том, что вы теряете информацию при удалении от условий бизнес-домена по сравнению с проблемами смешения языков. – Svend

ответ

0

См. Мой вопрос и ответ here.

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

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

+0

«Если ваша компания, разработчики и клиенты говорят на одном и том же родном языке, и вы ожидаете, что она останется такой», ключевое слово здесь - ** ожидать ** (что близко к «угадать»), так как через пять лет дороги, тюрки, чехи, шведы и болгары все будут приставать к единственному голландскому парню в команде, чтобы перевести их переменные бизнес-логики и комментарии, которые были написаны в соответствии с этим предположением, бизнес с тех пор вырос и расширился (Real Story ™). – Piskvor

7

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

0

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

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

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

0

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

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

0

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

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

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

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

0

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

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

2

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

Вы собираетесь закончить с вещами, как:

OrganisatoriskEnhedFactory::getInstance()->getIndblikskode(); 
+0

Это не проблема, я часто делаю слова/предложения, которые объединяют 2 или три языка (в моем случае, английский, арабский и японский) – hasen

+0

Ну, это вопрос личных предпочтений. Я ненавижу пиджин. – vartec

0

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

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

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

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