Здравствуйте, GlebZ, Вы писали:
GZ>Скажу честно, я бы с удовольствием использовал русские имена в бизнес-объектах. Я не говорю о других видах классов, поскольку для них обычно есть устоявшиеся имена. Проблема с английскими именами все таки существует. Например, я в одном большом проекте насчитал 4 вида имен переменных для регистрационного номера документа. Над данным проектом трудилось много народу, и каждый обзывал ее как ему было удобно. Приведу имена: DocN, RegNum, DocNumber, Number. Возможно, существуют еще, сырцы от которых мне просто не попадались. Если будет называться например: Документ.Регистрационный_номер, то данная проблема автоматически снимается.
Отнюдь. Из твоего же списка — ДокН, РегНом, ДокНомер, Номер. Не вижу чем русский язык здесь поможет.
Здравствуйте, GlebZ, Вы писали:
GZ>Скажу честно, я бы с удовольствием использовал русские имена в бизнес-объектах. Я не говорю о других видах классов, поскольку для них обычно есть устоявшиеся имена. Проблема с английскими именами все таки существует. Например, я в одном большом проекте насчитал 4 вида имен переменных для регистрационного номера документа. Над данным проектом трудилось много народу, и каждый обзывал ее как ему было удобно. Приведу имена: DocN, RegNum, DocNumber, Number.
Возможно, существуют еще, сырцы от которых мне просто не попадались. Если будет называться например: Документ.Регистрационный_номер, то данная проблема автоматически снимается.
Ничего подобного. Если нет стандарта, и не контролировать программистов, то появится Документ.номер, Документ.Регномер,
Документ.Рег_ном и тд
GZ>Ессно, можно было провести работу по унификации имен переменных, но на русском она проводится значительно быстрей и легче(если она вообще нужна).
Это спорный вопрос. Учитывая, что идентификатор обычно состоит из 2-3 слов, особой проблемы перевести нет.
GZ>Еще одна проблема, это то, что не все хорошо знают английский в своей предметной области. Видел схему БД в которой было несколько орфографических ошибок. К подобной проблеме почти всегда относятся прохладно, хотя очень неудобно писать переменные с орфографическими ошибками. Приходится привыкать.
Или переделать.
GZ>Также важно, что при переводе на английский язык существует несколько синонимов. В разных фирмах, даже с одной предметной областью, имена очень разные. Иногда, программист сам того не понимая, вводит слово которое показано в синонимах словаря, но не является точным переводом. И слава богу, если он посмотрит словарь а не напишет близкое по значению слово из тех которые ему известны.
Да, это существенный аргумент. Неправильно переведенное может затруднить понимание. Но, во-первых, можно посоветоваться с коллегами, во-вторых, не так часто попадаются термины, которые нельзя перевести лингвой
Задача решена — УРА ! — землекопа полтора !
Re[3]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
AVK>Отнюдь. Из твоего же списка — ДокН, РегНом, ДокНомер, Номер. Не вижу чем русский язык здесь поможет.
Ну сравни, как бы ты назвал переменную, если у тебя в постановке есть единый термин "регистрационный номер". Называть это номером отнюдь не корректно (в реальности это вообще строка и не обязательно цифр). Нормальное именование аналитических терминов. По русски это понять значительно проще для программиста, который не является специалистом в аналитике. Номер документа, даже для несведующего человека уже не прокатывает. При этом происходит унификация терминов в программе, с теми, которые присутствуют в постановке.
Попробуй поставить себя на его место. Как бы ты его назвал?(если по стандарту дизайна имена бизнес-объектов и их свойств обязательно русские).
С уважением, Gleb.
PS: ессно это мое личное мнение
Re[7]: Написание имен типов и переменных по-русски
AVK>Здравствуйте, Kupaev, Вы писали:
K>>Вот и я полагал что нету, пока самому не пришлось переводить deserialization на русский. Третье кряду "воссоздание объекта в памяти путем считывания его состояния из внешней памяти" заставляет предположить, что оно в русском языке все же есть, а восьмое-девятое превращает предположение в твердую уверенность.
AVK>Осталось только понять, что Deserialization в коде не только не хуже, но и лучше и все становится на свои места.
Использование английских терминов плохо тем, что в тексте приходится их разбавлять русскими словами, чтоб предложение не выглядело уродливо. Например: "при десериализации объекта" -> "при восстановлении объекта с помощью механизма deserialization"
Длинновато, однако
Задача решена — УРА ! — землекопа полтора !
Re[8]: Написание имен типов и переменных по-русски
Здравствуйте, IVaNС, Вы писали:
IVN>Использование английских терминов плохо тем, что в тексте приходится их разбавлять русскими словами, чтоб предложение не выглядело уродливо. Например: "при десериализации объекта" -> "при восстановлении объекта с помощью механизма deserialization" IVN>Длинновато, однако
Здравствуйте, GlebZ, Вы писали:
AVK>>Отнюдь. Из твоего же списка — ДокН, РегНом, ДокНомер, Номер. Не вижу чем русский язык здесь поможет. GZ>Ну сравни, как бы ты назвал переменную, если у тебя в постановке есть единый термин "регистрационный номер".
В постановке нужно указывать английский синоним. Кроме того регимстрационный номер это длинно и с пробелом, так что один черт трактований будет несколько.
GZ> Называть это номером отнюдь не корректно
А Number по английски корректно???
GZ>Попробуй поставить себя на его место. Как бы ты его назвал?
Здравствуйте, IVaNС, Вы писали:
IVN>Ничего подобного. Если нет стандарта, и не контролировать программистов, то появится Документ.номер, Документ.Регномер, IVN>Документ.Рег_ном и тд
Честно говоря, я не встречался с подобным контролем. Единственное программа над которой я работал, где были русские имена, бухгалтерская программа. Но программа была не сильно большая чтобы можно было создать больше 2 имен, и это находилось в ведении одного человека.
IVN>Это спорный вопрос. Учитывая, что идентификатор обычно состоит из 2-3 слов, особой проблемы перевести нет.
Я бы так не сказал. Например: Document — документ, Удален — Deleted, Removed. В подваляющем большинстве случаев 1-2 слова, для которых вообще может переводится в английском языке в одно или наоборот, в какой-то оборот.
IVN>Или переделать.
Тут часто встречается, такое слово переделать. Программа была написано большое кол-во времени назад. Я вполне представляю как она выпускалась тогда (времени не хватает, отлавливаются ошибки в функциональности). Наверное, поэтому они не переделывались тогда. Это были имена таблиц и пропертей, то есть для обновления достаточно сложно. Вот наверно и решили, главное чтобы работало, а остальное нафиг. Деньги за такую работу никто явно не заплатит.
IVN>Да, это существенный аргумент. Неправильно переведенное может затруднить понимание. Но, во-первых, можно посоветоваться с коллегами, во-вторых, не так часто попадаются термины, которые нельзя перевести лингвой
Во-первых, немного народу знает английский привязанный к аналитике. В том числе, и среди аналитиков. Второе, я лингву поставил недавно, не очень то надо было. Техническую документацию связанную с программированием читать умею, на остальное наплевать. Ставить ради имени одной переменной Лингву (которая не у всех есть), я бы не стал.
С уважением, Gleb.
Re[5]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
AVK>В постановке нужно указывать английский синоним. Кроме того регимстрационный номер это длинно и с пробелом, так что один черт трактований будет несколько.
Ты предлагаешь аналитикам выучить английский язык только ради того, чтобы указывать английские названия переменных (которые он на практике и не видит)? Они учились и оканчивали институты на русском языке, им не обязательно вообще учить английский (могли изучать и французский и немецкий). Если не все программеры знают английский (сейчас достаточно литературы на русском), то что ты хочешь от аналитика.
AVK>А Number по английски корректно???
Для программера — это явно не заметно. Его цель хоть как-то проименовать.
AVK>RegistrationNumber Увильнул от ответа.
Здравствуйте, GlebZ, Вы писали:
AVK>>В постановке нужно указывать английский синоним. Кроме того регимстрационный номер это длинно и с пробелом, так что один черт трактований будет несколько. GZ>Ты предлагаешь аналитикам выучить английский язык только ради того, чтобы указывать английские названия переменных (которые он на практике и не видит)?
Нет. Английский язык аналитикам нужен по многим другим причинам.
GZ> Они учились и оканчивали институты на русском языке, им не обязательно вообще учить английский
Не знаю. В Парусе те документы для программеров, что я видел, содержат английские названия таблиц, полей.
GZ>Если не все программеры знают английский (сейчас достаточно литературы на русском), то что ты хочешь от аналитика.
В лес таких программистов. Я не верю в нормального программиста, не знающего английский.
AVK>>RegistrationNumber GZ> Увильнул от ответа.
Здравствуйте, GlebZ, Вы писали:
IVN>>Ничего подобного. Если нет стандарта, и не контролировать программистов, то появится Документ.номер, Документ.Регномер, IVN>>Документ.Рег_ном и тд GZ>Честно говоря, я не встречался с подобным контролем. Единственное программа над которой я работал, где были русские имена, бухгалтерская программа. Но программа была не сильно большая чтобы можно было создать больше 2 имен, и это находилось в ведении одного человека.
Я тоже не встречал. И поэтому встречал такой разброд в названиях. Я понимаю, когда разные люди делают разные названия. Но есть кадры, которые даже своего единого стиля не имеют.
IVN>>Это спорный вопрос. Учитывая, что идентификатор обычно состоит из 2-3 слов
Да, надо было сказать "1-3 слов"
IVN>> особой проблемы перевести нет. GZ>Я бы так не сказал. Например: Document — документ, Удален — Deleted, Removed. В подваляющем большинстве случаев 1-2 слова, для которых вообще может переводится в английском языке в одно или наоборот, в какой-то оборот.
Если был Add, то тогда Remove. Если Insert — то Delete. Есть целый словарь пар сочетаемых слов.
IVN>>Или переделать. GZ>Тут часто встречается, такое слово переделать. Программа была написано большое кол-во времени назад. Я вполне представляю как она выпускалась тогда (времени не хватает, отлавливаются ошибки в функциональности). Наверное, поэтому они не переделывались тогда. Это были имена таблиц и пропертей, то есть для обновления достаточно сложно. Вот наверно и решили, главное чтобы работало, а остальное нафиг. Деньги за такую работу никто явно не заплатит.
Это точно. Но приходится что-то переделывать, когда видишь, что оно того требует.
IVN>>Да, это существенный аргумент. Неправильно переведенное может затруднить понимание. Но, во-первых, можно посоветоваться с коллегами, во-вторых, не так часто попадаются термины, которые нельзя перевести лингвой GZ>Во-первых, немного народу знает английский привязанный к аналитике. В том числе, и среди аналитиков.
Аналитики — могут и не знать, их задача — описывать бизнес-процессы. А вот постановщики (по крайней мере, которых я знаю) с английским проблем не имеют.
GZ>Второе, я лингву поставил недавно, не очень то надо было. Техническую документацию связанную с программированием читать умею, на остальное наплевать. Ставить ради имени одной переменной Лингву (которая не у всех есть), я бы не стал.
Лингва полезна и при чтении английских книжек и текстов.
Но мы несколько отклонились от темы. Лично я не считаю, что незнание английского оправдывает нарушение общепринятых подходов и стандартов.
Для себя, выслушав все возражения, я могу, как и раньше, считать, что использование национальных символов в коде _не_ оправдано.
Задача решена — УРА ! — землекопа полтора !
Re[9]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
IVN>>Использование английских терминов плохо тем, что в тексте приходится их разбавлять русскими словами, чтоб предложение не выглядело уродливо. Например: "при десериализации объекта" -> "при восстановлении объекта с помощью механизма deserialization" IVN>>Длинновато, однако
AVK>Ты еще не забыл что речь идет об исходных кодах?
Конечно, наводить красоту в комментарии к коду кому-то взбредет в голову, только если этот комментарий попадет в документацию, создаваемую по коду. Так что, это я ужо нафлеймил немного.
Задача решена — УРА ! — землекопа полтора !
Re[7]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
GZ>>Если не все программеры знают английский (сейчас достаточно литературы на русском), то что ты хочешь от аналитика.
AVK>В лес таких программистов. Я не верю в нормального программиста, не знающего английский.
Это точно. Чтоб быть в курсе дела, приходится порядочно почитывать на англицком.
Задача решена — УРА ! — землекопа полтора !
Re[7]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
AVK>Нет. Английский язык аналитикам нужен по многим другим причинам.
Примеры в студию. Сражу скажу, у нас был в роли аналитика очень профессиональный бухгалтер, которому английский и на фиг не сдался. После объяснения на словах как надо писать требования, вступил в работу. И очень даже хорошо работал.
AVK>Не знаю. В Парусе те документы для программеров, что я видел, содержат английские названия таблиц, полей.
Что касается таблиц, то здесь у меня мнение неоднозначное. Я имел ввиду только бизнес-объекты. Хотя таблицы тоже было-бы неплохо (у меня на практике некоторые инструменты на Oracle глючат если имя объекта описано в "двойных кавычках").
AVK>В лес таких программистов. Я не верю в нормального программиста, не знающего английский.
- Ты видишь суслика?
— Нет.
— А он есть.
ДМБ
Такие программисты были, есть и будут есть. Не стоит всех называть прогрессивным человечеством.
[offtop]
Я встречал два типа комманд.
1 тип. Команда дорогих профессионалов. Тимлидер только утверждает наиболее глобальные решения, раздает задание и является communication tube с другими отделами.
2 тип. Команда дешевых программистов. Единственные высокооплачиваемый проффесиональный программист — тимлидер. Обычно набирается из студентов и людей которых не берут в проффесиональные комманды. Зачастую там еще есть выращенные проффесионалы, которые не успели вовремя смыться. В данном случае, тимлидер от 50-80 времени проводит за тем, что пытается объяснить что и как делать. При этом он успевает выполнять другие свои обязанности и даже иногда кодить (я удивлялся и удивляюсь работоспособностью таких людей). Как мне показалось, данная категория комманд, наиболее многочисленная. Вот в данной категории и ищи сусликов.
Самое поганое, что вопрос о типе команды решается отнюдь не тимлидером, а значительно на более высоком политическом уровне.
[offtop]
AVK>Отнюдь.
Тогда повторю вопрос (без твоих цензурных правок)
Попробуй поставить себя на его место. Как бы ты его назвал?(если по стандарту дизайна имена бизнес-объектов и их свойств обязательно русские).
С уважением, Gleb.
Re[5]: Написание имен типов и переменных по-русски
Здравствуйте, IVaNС, Вы писали:
IVN>Если был Add, то тогда Remove. Если Insert — то Delete. Есть целый словарь пар сочетаемых слов.
А если присутсвует и Add и Insert. Это же не синонимы. И кинь ссылочку на такой словарь (если есть конечно). Очень занятно.
IVN>Аналитики — могут и не знать, их задача — описывать бизнес-процессы. А вот постановщики (по крайней мере, которых я знаю) с английским проблем не имеют.
Пример я привел в соседнем флейме. К тому же, у тебя большой словарный запас связанный с бухгалтерией.(я верю что с техн. английским по программированию проблем нет).
IVN>Но мы несколько отклонились от темы. Лично я не считаю, что незнание английского оправдывает нарушение общепринятых подходов и стандартов.
Значит, проблема все таки есть.
IVN>Для себя, выслушав все возражения, я могу, как и раньше, считать, что использование национальных символов в коде _не_ оправдано.
Если говоришь что не оправдано, то приведи чем плохо использование национальных символов. (подчеркну, именно БО которые связанны с аналитикой)
С уважением, Gleb.
Re[8]: Написание имен типов и переменных по-русски
Здравствуйте, GlebZ, Вы писали:
GZ>2 тип. Команда дешевых программистов. Единственные высокооплачиваемый проффесиональный программист — тимлидер. Обычно набирается из студентов и людей которых не берут в проффесиональные комманды. Зачастую там еще есть выращенные проффесионалы, которые не успели вовремя смыться. В данном случае, тимлидер от 50-80 времени проводит за тем, что пытается объяснить что и как делать. При этом он успевает выполнять другие свои обязанности и даже иногда кодить (я удивлялся и удивляюсь работоспособностью таких людей). Как мне показалось, данная категория комманд, наиболее многочисленная. Вот в данной категории и ищи сусликов. GZ>Самое поганое, что вопрос о типе команды решается отнюдь не тимлидером, а значительно на более высоком политическом уровне.
Да, дешевые программисты использовались и использоваться будут. Но ценен тот человек, который _пока_еще_ неопытен, но наберется опыта, потому что будет сам что-то изучать, пытаться разбираться. Достаточно ему дать направление, а не пинать регулярно под зад. Из такого человека, при правильном управлении, тим-лид может получить реального партнера.
А те, кто по нескольку лет занимаются программизмами, но не могут базово выучить английский, к этой категории людей, ИМХО, не относятся.
Задача решена — УРА ! — землекопа полтора !
Re[8]: Написание имен типов и переменных по-русски
Здравствуйте, GlebZ, Вы писали:
AVK>>Нет. Английский язык аналитикам нужен по многим другим причинам. GZ>Примеры в студию. Сражу скажу, у нас был в роли аналитика очень профессиональный бухгалтер, которому английский и на фиг не сдался. После объяснения на словах как надо писать требования, вступил в работу. И очень даже хорошо работал.
Все аналитики, с которыми я общался, хорошо знали английский.
AVK>>Не знаю. В Парусе те документы для программеров, что я видел, содержат английские названия таблиц, полей. GZ>Что касается таблиц, то здесь у меня мнение неоднозначное. Я имел ввиду только бизнес-объекты.
В Парус 8 нет бизнес-объектов. А мнемокоды разделов на английском.
AVK>>В лес таких программистов. Я не верю в нормального программиста, не знающего английский.
GZ>Такие программисты были, есть и будут есть.
Это их проблемы. Я считаю экономически неэффективным использование таких программистов.
GZ>[offtop] GZ>Я встречал два типа комманд. GZ>1 тип. Команда дорогих профессионалов. Тимлидер только утверждает наиболее глобальные решения, раздает задание и является communication tube с другими отделами. GZ>2 тип. Команда дешевых программистов. Единственные высокооплачиваемый проффесиональный программист — тимлидер. Обычно набирается из студентов и людей которых не берут в проффесиональные комманды. Зачастую там еще есть выращенные проффесионалы, которые не успели вовремя смыться. В данном случае, тимлидер от 50-80 времени проводит за тем, что пытается объяснить что и как делать. При этом он успевает выполнять другие свои обязанности и даже иногда кодить (я удивлялся и удивляюсь работоспособностью таких людей). Как мне показалось, данная категория комманд, наиболее многочисленная. Вот в данной категории и ищи сусликов. GZ>Самое поганое, что вопрос о типе команды решается отнюдь не тимлидером, а значительно на более высоком политическом уровне. GZ>[offtop]
Даже дешевые программисты как минимум обязаны уметь читать MSDN.
GZ>Попробуй поставить себя на его место. Как бы ты его назвал?(если по стандарту дизайна имена бизнес-объектов и их свойств обязательно русские).
Здравствуйте, GlebZ, Вы писали:
GZ>Здравствуйте, IVaNС, Вы писали:
IVN>>Если был Add, то тогда Remove. Если Insert — то Delete. Есть целый словарь пар сочетаемых слов. GZ>А если присутсвует и Add и Insert. Это же не синонимы. И кинь ссылочку на такой словарь (если есть конечно). Очень занятно.
IVN>>Аналитики — могут и не знать, их задача — описывать бизнес-процессы. А вот постановщики (по крайней мере, которых я знаю) с английским проблем не имеют. GZ>Пример я привел в соседнем флейме. К тому же, у тебя большой словарный запас связанный с бухгалтерией.(я верю что с техн. английским по программированию проблем нет).
У меня с бухгалтерскими терминами проблем не было ни разу. Наоборот, если встречалось незнакомое слово, я его смотрел в словаре, и пополнял свой словарный запас (именно так лучше всего и запоминаются слова, т.к. по одному слову легче запомнить, чем долбиться в тренажере)
IVN>>Но мы несколько отклонились от темы. Лично я не считаю, что незнание английского оправдывает нарушение общепринятых подходов и стандартов. GZ>Значит, проблема все таки есть.
Есть, иначе бы этого топика не было. И решить эти проблемы можно, утвердив стандарты.
IVN>>Для себя, выслушав все возражения, я могу, как и раньше, считать, что использование национальных символов в коде _не_ оправдано. GZ>Если говоришь что не оправдано, то приведи чем плохо использование национальных символов. (подчеркну, именно БО которые связанны с аналитикой)
Хорошо, сведем в табличку все аргументы воедино:
Агрументы, высказанные "против"
— Несоответствие интернациональным стандартам. Код для иностранца становится непонятным.
— Несоответствие стандартам, принятым в .Net Framework Class Library, в том числе и стандартам понятного именования с использованием устоявшихся терминов, использующихся в шаблонах проектирования и пр. (см. посты Андрея)
— Сложно и некомфортно читается для большинства программистов
— Требует постоянного переключения раскладки, вызывает проблемы с одинаковыми по виду английскими и нац. символами
— Код выглядит неопрятно, т.к. стандартные классы имеют английские названия, а новонаписанные — частично или полностью русские. Рядом используется одинаковые термины на разных языках (см. пример Владимира с Deserialize и Десериализация)
— В русском языке меньше устоявшихся технических терминов, чем в английском, и постоянно возникают проблемы с правильным переводом с английского на русский (см. топики Dragon, Spidola), большая часть технической литературы — на английском.
— Русский язык сложнее (например, из-за словоформ приходится менять все предложение), и слова длиннее (см, что сказал Spidola)
Агрументы, высказанные "за"
— Возможность работать в терминах предметной области без перевода на неродной язык
— Не нужно искать соответствие русских терминов английским, не возникает трудностей при переводе на английский
— Облегчение труда программистам, не знающим английский
Позиция "против" выглядит значительно сильнее.
Задача решена — УРА ! — землекопа полтора !
Re[7]: Написание имен типов и переменных по-русски
Здравствуйте, AndrewVK, Вы писали:
K>>ЗЫ Я вовсе не за код на русском языке — но комментарии-то на русском писать вполне можно, особенно большие.
AVK>Пример комментария из януса AVK>
Интерфейс провайдера макросов теглайна.
AVK>Зато по русски
Задача решена — УРА ! — землекопа полтора !
Re[4]: Написание имен типов и переменных по-русски
Здравствуйте, Draqon, Вы писали:
D>P.S. Кстати, представьте себе, что к Вам в наследство достался код, где имена идентификаторов транслитерированы, скажем, с китайского. Или, к примеру, с хинди. И Вам этот код нужно поддерживать и/или отлаживать. Мои Вам в таком случае соболезнования
Китайцы врядли станут на своём "хинди-идише" ( ) писать. Инглиш им ближе.
А вот всякие французы/немцы/итальянцы уж очень любят писать на ридной мови.
И что страшно, не только комментарии и символьные строки, но и идентификаторы. Ужасть.