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

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

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

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

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

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

Изменить: некоторые ресурсы из ответов и других материалов, которые я использую:

Ответы

Ответ 1

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

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

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

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

Ответ 2

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

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

Примеры:
AbcFactory
XyzBridge

Ответ 3

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

Как вам удалось справиться с этим?

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

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

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

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

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

String nombreEmpleado;
int edad;

Удорожание, особенно когда вы работаете с другими.

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

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

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

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

Или вы так много читаете, чтобы называть имена естественным?

Также помогает, но если вы не понимаете, что означает этот код, вы... хорошо не достигнете прогресса.

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

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

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

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

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

Англичане придут со временем.

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

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

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

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

Вы не пишете книги или какую-то "английскую поэму", где написаны орфография, грамматика и...

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

Ответ 8

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

Ответ 9

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

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