Словарь/словарь программистов для не носители языка

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

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

Мой очень ограниченный словарь "вынуждает" меня использовать плохие имена классов как xxManager, xxProvider, xxWhatever. Это - обычно менее проблематичные имена переменной выбора и имена методов.

Другой не англичане здесь: Как Вам удалось справиться с этим? Вы изучили английский язык так хорошо, это не проблема? Или Вы читали, такое именование кода происходит естественное? Или обсудил много с англоговорящими? Найденный какими-либо хорошими веб-сайтами, статьями или другими публикациями? Поскольку я ничего никогда не читал относительно программирования на моем собственном языке, у меня часто есть больше проблем при попытке найти слова на моем языке...

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

Править: Некоторые ресурсы из ответов и другого материала я использую:

17
задан simendsjo 24 June 2010 в 22:11
поделиться

9 ответов

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

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

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

Если вы чувствуете себя авантюристом, вы всегда можете купить подписку на журнал New Yorker. Он будет делать с вами вещи - да, это флеймбэйтинг. :P

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

Как насчет использования вашего родного языка? Конечно (как для меня, как для австрийца) некоторые буквы могут быть запрещены - но кого волнует, есть ли в имени класса Mörder или Moerder (убийство) :)

Или (как я) используйте словарь, например dict. cc или что-то еще.Я думаю, что класс делает - он управляет игровым сеансом (например), поэтому он станет GameSessionManager.

Сокращения (по крайней мере, для меня) проблема - но то, что я узнал из другого кода -Носители языка мероприятия используют разные сокращения. И если класс называется GameSessionMgr или GameSessionMngr, это не имеет значения.

Вы не пишете книги или какие-то «английские стихотворения», где важны орфография, грамматика и ...

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

0
ответ дан 30 November 2019 в 14:36
поделиться

Это придет со временем и опытом. Прежде всего, старайтесь (как говорит @Mike A) документировать вещи, пока код не станет яснее, и старайтесь быть последовательным.

0
ответ дан 30 November 2019 в 14:36
поделиться

Другие неанглийские люди здесь:

Как вы справились с этим?

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

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

String employiiNeim; // employeeName
int  eich;           // age

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

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

String nombreEmpleado;
int edad;

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

Вы изучили английский так хорошо, что это не проблема?

Да, другого пути нет, и много практики.

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

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

Или вы прочитали так много кодов, что называть их стало естественным?

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

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

Или много общались с англоговорящими?

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

Самый эффективный способ улучшить свой английский словарный запас и грамматику - это ЧТЕНИЕ (чтение на родном языке также улучшает ваш собственный язык, btw)

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

Английский придет со временем.

2
ответ дан 30 November 2019 в 14:36
поделиться

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

Мне кажется, что предложение сайта English Language & Usage на Area51 является хорошим местом для того, чтобы задать такие вопросы, как "Как бы вы назвали класс (или вещь), который делает это, это и это, и имеет свойства x, y и z?"

.
0
ответ дан 30 November 2019 в 14:36
поделиться

Если вы не можете найти «Словарь программиста», который ищете, запустите его. Задайте новый вопрос: «Какие статьи отсутствуют в этом Словаре для программистов на английском как втором языке? » и заполните его 10 или 20 словами / определениями, которые вы уже обнаружили. Как только на плакатах будет предложено достаточно дополнений, переместите его куда-нибудь в вики и продолжайте принимать взносы. Вы можете в конечном итоге создать ценный ресурс.

2
ответ дан 30 November 2019 в 14:36
поделиться

Файл жаргона поможет с более непонятными ссылками, которые люди дают в индустрии.
http://catb.org/jargon/html/go01.html

В остальном... найти хорошие имена для ваших переменных/классов/etc - трудно. Часто это труднее, чем решить проблему. Вот хороший ресурс по некоторым общим именам шаблонов проектирования, которые люди любят использовать: http://en.wikipedia.org/wiki/Design_pattern_%28computer_science%29

Examples:
AbcFactory
XyzBridge

3
ответ дан 30 November 2019 в 14:36
поделиться

Документирование вашего кода с помощью отличной прозы, такой как ваш вопрос выше, будет иметь большое значение!

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

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

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

1
ответ дан 30 November 2019 в 14:36
поделиться
Другие вопросы по тегам:

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