Словарь / словарь для не носителей языка - PullRequest
16 голосов
/ 25 июня 2010

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

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

Мой очень ограниченный словарный запас «вынуждает» меня использовать плохие имена классов, такие как xxManager, xxProvider, xx. Обычно проще выбрать имена переменных и методов.

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

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

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

Ответы [ 9 ]

3 голосов
/ 25 июня 2010

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

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

Примеры:
AbcFactory
XyzBridge

2 голосов
/ 25 июня 2010

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

2 голосов
/ 25 июня 2010

Другие не англичане здесь:

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

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

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

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

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

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

String nombreEmpleado;
int edad;

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

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

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

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

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

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

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

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

Или много обсуждали с носителями английского языка?

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

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

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

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

1 голос
/ 25 июня 2010

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

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

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

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

1 голос
/ 25 июня 2010

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

1 голос
/ 25 июня 2010

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

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

0 голосов
/ 25 июня 2010

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

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

0 голосов
/ 25 июня 2010

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

0 голосов
/ 25 июня 2010

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

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

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

Вы не пишете книги или что-то вроде "английского стихотворения", где правописание, грамматика и ... имеют значение.

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

...