Допустимы ли русские имена Классов/Методов/Переменных

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Допустимы ли русские имена Классов/Методов/Переменных

Сообщение Хемуль » 16.08.2005 (Вт) 8:49

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.08.2005 (Вт) 8:51

Можно, но я бы не стал...
Представь, что увидит программист, у которого не стоит русская локаль.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Хемуль
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 29.06.2005 (Ср) 9:32

Сообщение Хемуль » 16.08.2005 (Вт) 8:58

То, что будет руссифицированный VB - это подразумевается, так как большая работа происходит с методами 1С через OLE, т.е. конструкции вида 1CV7.Сообщить("Что-то ужасное") являются законными и работоспособными. А вот о "законности" использования русскоязычных методов для классов, создаваемых в самом бейсике, я и хотел спросить.

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 16.08.2005 (Вт) 8:58

те надо 1С :wink: :D 8)

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 9:56

Хемуль писал(а):То, что будет руссифицированный VB - это подразумевается, так как большая работа происходит с методами 1С через OLE, т.е. конструкции вида 1CV7.Сообщить("Что-то ужасное") являются законными и работоспособными. А вот о "законности" использования русскоязычных методов для классов, создаваемых в самом бейсике, я и хотел спросить.


Можно использовать - проблем не было замечано.

Само-собой, если программа пишется по заказу зарубежной конторы, то так лучше не делать (ибо они могут просто не понять исходники), а если для российского пользователя (и выхода за русскую локаль не предполагает) - почему бы нет...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.08.2005 (Вт) 10:13

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

Tarantul
Бывалый
Бывалый
 
Сообщения: 235
Зарегистрирован: 13.12.2004 (Пн) 16:39
Откуда: IUnknown

Сообщение Tarantul » 16.08.2005 (Вт) 10:15

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

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 10:43

Tarantul писал(а):Как по мне, то на английском методы писать в несколько раз быстрее (переключать клавиатуру не надо),


Вах, нажатие одной клавиши убыстряет написание кода в несколько раз :lol:

Tarantul писал(а): и понятнее, код выглядит более аккуратно.


Понятнее - это как раз под вопросом... А аккуратность кода не от символов алфавита зависит.

В принципе, у меня в приложениях написанных для местных контор, ~5..10% имен могут быть по русски - в основном это названия специфических функций/переменных а-ля ИмпортБанковскихПлатежек. На скорость набора кода это явно не влияет, а сам код все-же получается понятнее - иногда приходилось возвращаться к коду через несколько лет - меньше проблем и времени уходит...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.08.2005 (Вт) 10:48

Andrey Fedorov писал(а):сам код все-же получается понятнее - иногда приходилось возвращаться к коду через несколько лет - меньше проблем и времени уходит...

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

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 16.08.2005 (Вт) 10:49

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

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 10:54

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


Зря вообще-то. Настолько ненавидеть свой язык...

С написанным кодом может работать не только тот кто его написал и разобраться с ним человек должен в минимальное время, желательно даже без чтения коментариев (а кто их читает?). Использование изначально понятных имен здесь дюже помогает.

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

Sedge писал(а):Религия, что поделаешь :)


Я знал одного преподавателя который всегда рисовал электрические схемы справа налево (и в итоге все кто у него учился рисовали так-же) - в итоге получались зеркальные к нормальным схемы... Может его тоже зациклило?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.08.2005 (Вт) 11:03

Andrey Fedorov писал(а):Зря вообще-то. Настолько ненавидеть свой язык...
С написанным кодом может работать не только тот кто его написал и разобраться с ним человек должен в минимальное время, желательно даже без чтения коментариев (а кто их читает?). Использование изначально понятных имен здесь дюже помогает.

Я не понимаю при чем здесь ненависть? И не надо зацикливаться на своем этносе.
Программисты бывают разных национальностей и трудно ожидать, допустим, от индуса, что он будет изучать великий и могучий только ради того, чтобы разобраться в твоем коде. Английский язык является устоявшимся стандартом общения в сфере информационных технологий и нам всем приходится его так или иначе придерживаться. MSDN все используют. Так что не надо изобретать велосипед.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 11:46

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


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

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

Sedge писал(а):Английский язык является устоявшимся стандартом общения в сфере информационных технологий и нам всем приходится его так или иначе придерживаться. MSDN все используют. Так что не надо изобретать велосипед.


Да, я использую MSDN и пишу на VB уже много лет.
Но я не знаю английский на 100% тем более не знаю его в плане бухгалтерской/банковской терминологии и прочей специфики. Посему специфические функции мне проще и понятней обозвать по русски - это гарантирует как мое понимание, так и то что это поймет другой человек.

Как я говорил таковых функций не столь и много - от силы доли или единицы процентов. А все основные - по английски.

Аналогично если как в 1C делается нечто вроде макроязыка для юзеров - требовать от них знания английского тоже некорректно.

У автора вопроса, кстати, было написано что dll-ка используется для расширения функционала русскоязычной 1C...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: Допустимы ли русские имена Классов/Методов/Переменных

Сообщение codemaster » 16.08.2005 (Вт) 11:52

Хемуль писал(а):На вопрос "К чему это?" сразу скажу, что dll-ки используются для расширения функционала русскоязычной программы 1С и названия некоторых методов должны быть на русском языке для совместимости.


В 1С есть также eng. названия все методов свойств.

Просто русский "программмм....ммммист" 1С всегда пользуется
родными рускоязычными.

Если не ошибаюсь там есть еще технология Addin для 1С
//<-
Mit freundlichen Grüßen
//->

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Допустимы ли русские имена Классов/Методов/Переменных

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 12:00

codemaster писал(а):В 1С есть также eng. названия все методов свойств.


Ну в таком случае сам Билл велит сделать Rus и Eng названия методов/свойств - о чем спорить-то, собственно?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 16.08.2005 (Вт) 12:36

-*-
Последний раз редактировалось Al Khamid 04.12.2007 (Вт) 12:39, всего редактировалось 1 раз.

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.08.2005 (Вт) 14:13

Ну-ну. Давайте тогда еще китайцы пусть пишут названия функций по китайски. А что? Удобно и понятно - одна функция - один иероглиф :lol:
Английский - стандарт в сфере IT. И этому правилу нужно следовать. Да, VB не ругается. А какая ему, собственно, разница? Название переменной, например, всего лиш последовательность кодов символов. Но есть также правила хорошего тона. Давайте еще и контролы тогда называть Command1, Label1 и т.д. :lol:
Текст составленный из символов английской раскладки (до 128, если не ошибаюсь) ОДНОЗНАЧНО читаем на всех машинах. Это нужно всегда помнить.
То, что для одних константа, для других только переменная...

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 16.08.2005 (Вт) 14:57

Odrick писал(а):Ну-ну. Давайте тогда еще китайцы пусть пишут названия функций по китайски. А что? Удобно и понятно - одна функция - один иероглиф :lol:


Ты не сомневайся - они так и пишут.

Odrick писал(а):Текст составленный из символов английской раскладки (до 128, если не ошибаюсь) ОДНОЗНАЧНО читаем на всех машинах. Это нужно всегда помнить.


Видишь ли - в ряде случаев совсем не обязательно чтобы текст читался на ВСЕХ машинах и под всеми видами операционок. Если человек пишет dll-ку для русской 1C, то ему совершенно не нужно чтобы имена ее методов читались на машине с немецкой/китайской локалью. Но ему нужно чтобы с его объектом могли легко работать наши (а не индусы!) 1C-овские программисты и по возможности без чтения дополнительной документации и пояснений (им и без того работы хватает, поверь). Так что если в 1C принято чтобы было русское и английское наименование метода, то так и надо делать.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Odrick
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 503
Зарегистрирован: 28.09.2003 (Вс) 2:04

Сообщение Odrick » 16.08.2005 (Вт) 15:13

Andrey Fedorov писал(а):Ты не сомневайся - они так и пишут.

Сильно сомневаюсь ;)
Andrey Fedorov писал(а):1C-овские программисты и по возможности без чтения дополнительной документации и пояснений (им и без того работы хватает, поверь).

Вполне верю - 2.5 года писал в одной конторе аналог 1С. Сколько там работы прекрасно знаю ;)
Andrey Fedorov писал(а):Так что если в 1C принято чтобы было русское и английское наименование метода, то так и надо делать.

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

поэтому и ответ общий - максимально недопустимо ;)
То, что для одних константа, для других только переменная...

Sedge
Alternative Choice
Alternative Choice
Аватара пользователя
 
Сообщения: 1049
Зарегистрирован: 16.05.2002 (Чт) 18:23
Откуда: Somewhere-In-The-Net

Сообщение Sedge » 16.08.2005 (Вт) 16:11

Да нет, почему флуд. Вполне себе такая нормальная локальная религиозная войнушка :)

-=TsA=-
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 142
Зарегистрирован: 21.09.2004 (Вт) 14:32
Откуда: Татарстан, Заинск

Сообщение -=TsA=- » 17.08.2005 (Ср) 7:44

Делай парные функции, методы и классы типа:

Код: Выделить всё

Public Function MyFunction(Val)
....
End Function

Public Function МояФункция(Пер)
    МояФункция=MyFunction(Пар)
End Function


Не думаю что в 1С писали разные функции для рус/eng версии


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList