Здравствуйте, _FRED_, Вы писали:
FR>>Загляните в справку по языку. В пределах одного модуля можно использовать и русские и английские наименования. Смешивать их произвольно. _FR>Дык она у нас тока у бухов, а они за свой комп не пускают. К щастью
>?, 06.01.05 12:16
где грабли бывают?.. Не поверю что все работает как надо.
Если использовать продукты Microsoft. то пока серьезно не нарывался. Не на Visual Fox, не на Visual Basic, не на C#, не на SQL.
Однажды попался на стыковке сервиса .Net Remoting и IIS. Namespace сервиса обозвал по русски. Облом.
В интернете с русским не важно, туда с ним пока лучше не соваться.
Относительно переноса. Если приспичит, то текстовая замена одного имени на другое в пределах класса не проблема. Перенос всего приложения на другую платформу — здесь совершенно другие вопросы. Читали небось, сколько мусора поднялось в воздух при переходе с Basic на Basic.
Вот если Delfi.Net не будет поддерживать многоязычие, тогда дело другое. Названия методов, полей, свойств доступных извне придется писать на латинице.
Но не думаю, что в борманде пойдут на это.
Относительно, тех кто хорошо знает аглицкий. Это прекрасно. Но писать комментарии на нем — полнейший бред, извините. Если не работать на доброго дядю оттуда.
Кроме английского, люди на руси изучают и немецкий, и если каждый, с разных унверситетских потоков и групп , да на одной русской фирме, да на своем иностранном ... Ну, знаете ли.
Здравствуйте, Аноним, Вы писали:
А>Относительно, тех кто хорошо знает аглицкий. Это прекрасно. Но писать комментарии на нем — полнейший бред, извините. Если не работать на доброго дядю оттуда. А>Кроме английского, люди на руси изучают и немецкий, и если каждый, с разных унверситетских потоков и групп , да на одной русской фирме, да на своем иностранном ... Ну, знаете ли.
C чего вы взяли, что это бред? Даже если это русскоязычная фирма. У меня например, много друзей за рубежом в самых разных местах от Англии до Малайзии. Если я захочу им кусок кода скинуть, например, чтобы они оценили его, что же мне комменты все переписывать? Заставлять человека разбираться в твоем коде без комментариев — неприлично.
Если все разработчики, которые имеют отношение к проекту, одиннаково хорошо владеют языком, почему бы им не писать коммента на нем? Т.е. я имею ввиду, если они этого хотят, конечно.
Re[2]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
06.01.05 15:41
Оценка:
Н-да, многим и не следовало бы писать по-русски — что код, что комментарии, что посты в форуме. По их английскому проще догадаться, что они сказать хотели, чем по "русскому"
Re[2]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
06.01.05 17:36
Оценка:
У нас, к примеру, все объекты на MSSQL принято называть по-русски. В следствие этого код, сгенеренный студией для типизированного DataSet-а, получается не без русского языка. Мне и самому не очень нравятся русские символы в коде на С#, но в таком случае от этого никуда не денешься.
Вы все еще не программируете на платформе Microsoft.NET — тогда мы летим к вам
Re[2]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
06.01.05 17:56
Оценка:
А как так Вас угораздило называать по-русски? Или это такая команда сверху пришла?
Я вот в свое время очень сильно намучался помогаю своему другу заставить работать небольшую библиотеку без которой валился весь проект. Когда причина обноружилась и она оказалась в том, что один умелец исполоьзовал русские названия "где-то там в одном месте" для меня это стало просто красной тряпкой.
А того парнишку с "русскоязычными функциями" выгнали нафиг с работы...
Re[2]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
06.01.05 20:23
Оценка:
Команды не было, просто исторически так сложилось, да и привыкли уже Русский язык в названии — не самое страшное, хуже когда таблицы называются по типу FGY157432 как в Great Plains или в 1C.
Вы все еще не программируете на платформе Microsoft.NET — тогда мы летим к вам
Re[6]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
06.01.05 20:30
Оценка:
Когда вы займетесь оффшором, зарубежным, вы после написания километров такого прошлого кода поимете себе проблемы в работе с партнерами.
Старайтесь не только код, но и даже комментарии писать хоть кратко на английском. Если вы хотите подняться выше определенной начальной планки, примите этот совет.
>gaidar, 06.01.05 21:56
Я вот в свое время очень сильно намучался ... один умелец исполоьзовал русские названия "где-то там в одном месте"...
Странно, хотел бы я знать как русские названия функций библиотеки повлияли на её функциональность?
Со своей стороны тоже расскажу историю. Сдавали мы в г.Нелидово свою мультитерминальную систему управления технологическим процессом на заводе пластмасс. Её ПО было написано нами на ассемблере, идентификаторы и примечания суржиком — русские слова латинскими буквами.
Машина французская. С ней ящик документации по поставляемым с ней программам. Понятно на французском. В листингах все идентификаторы и длинные комментарии ... на французском.
Где-то в постановке была допушена ошибка. Кто-то чего-то недопонял. Отчетная документы. На терминалах всего 80 позиций, а нужно как минимум 128. Французский принтер есть. Хороший, скоростной. Но писать то под него нужно драйвер управления для нашей ОС, а железка имет 12-ть 8 и 16 битных регистров управления, каждый бит которых отвечает за свою функцию и ...
Нашли в листингах какой-то из французских систем текст драйвера ... на французском ... поймите нашу "радость". Во где поурчать то пришлось. В Тверской губернии технический французский в те времена не знал никто.
Поэтому, если хотите писать и комментарии на аглицком (или может на шведском ?) в системах для России — флаг вам в руки.
Только хотелось бы посмотреть на физиономии ваших руководителей, когда вы драпанете, а созданное вами придется сопровождать. Хотя с английском сейчас попроще.
А>Пишу идентификаторы по-русски с того времени, как стало это возможным. Использую англоязычный префикс. Английские имена только там, где это требуется. А>Англо-русский суржик не применяю — подташнивает. А>Базы данных и таблицы тоже по русски (по возможности). А>Так что можете смеяться, но мои программы работают. А>Только я никогда! не переписываю на русский чужие программы и не выдаю их за свои. А>По русски пишу только своё. Мне так удобнее. Я по руски думаю и не хочу тратить время на перевод.
Национальные символы в идентификаторах — прямое нарушение общепринятых стандартов кодирования. И
неправильно привыкать писать "для себя", не соблюдая стандарты. Серьезный софт обычно пишется в команде величиной более одного человека. Я думаю, большинство народа, если бы им пришлось копаться в твоих исходниках с русскими именами, тебя хвалить бы, мягко говоря, не стали.
А если возникает трудность с английским термином, ничто не мешает за пару секунд посмотреть его в лингве.
Задача решена — УРА ! — землекопа полтора !
Re: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
07.01.05 15:19
Оценка:
>?, 07.01.05 17:32 >Национальные символы в идентификаторах — прямое нарушение общепринятых стандартов кодирования.
Где, когда, в каких общепринятых стандартах, какой страны, мира?. Только не приплетайте сюда ошибку Pascal. Я думаю в .Net Object Pascal разрешит использовать более 26 символов.
>А если возникает трудность с английским термином, ничто не мешает за пару секунд посмотреть его в лингве.
Использование английских, немецких, французских, китайских идентификаторов для программистов не владеющих этими язаками, это тоже самое, что именовать все функции приложения примерно так F001, F002,...
Методы класса как M001,M002,...
Всегда есть где-то, в какой-нибудь лингве таблица соответствия названия выполняемой функции. Уже проходили.
Мне в свое время один заблудившийся математик мне сообщил, что в программировании делать нечего,... конечное множество команд ... всё элементарно. В жизни не все так просто. Хорошо, что программист перестал рассматриваться как переводчик чьих-то мыслей в машинный код компьютера. Он должен прежде всего думать.
В процессе создания программной системы я привык сначала мыслить категориями и образами реальных объектов (цехом, химическим реактором, бухгалтерией и т.п.) постепено погружая их функциональность в программный код, а последний заключая в абстрактную смысловую оболочку. А сей процесс связан у меня непосредственно с родным языком. В моих понятиях примером погружения некоторой категории в программный код является Класс. Состояние категории есть ИмяКласса.ИмяСвойсва или ИмяКласса.ИмяПоля. Как только отлажу метод Класса, от метода для меня остается только смысловая оболочка ИмяКласса.ИмяМетода, этакий "кирпич". От внутреннего программного содержимого метода абстрагируюсь. И дальнейшие программные конструкции пишу, используя этот "кирпич", я думаю образом этого "кирпича".
Такого уровня знания английского, немецкого и других языков у меня нет. Я не могу мыслить абстрактными категориями в рамках этих языков. Так почему я не могу использовать для своих внутренних целей идентификаторами абстрактного на родном языке. Если вы пишите класс для внешнего использования, тогда с вами абсолютно согласен — интерфейс должен удовлетворять правилам. Каким? Не думаю, что есть какой-то международный стандарт. Общефирменный стандарт? Ну это как бы попроще выразиться ...особенно для тех кто там не работает...
Наверное имеет смысл в не системных идентификаторах отображать латинские буквы одним цветом, буквы национального алфавита другим, с возможностью конечно отключения этой возможности.
Владимир пишет:
> Такого уровня знания английского, немецкого и других языков у меня > нет. Я не могу мыслить абстрактными категориями в рамках этих языков.
Сейчас такая ситуация, что хороший программист ОБЯЗАН знать английский.
Так что
решение проблемы — учить английский. Кроме того, никто не заставляет
думать на
английском — можно просто тупо переводить названия переменных:
"красныйКирпич" в
"redBrick".
--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[2]: Написание имен типов и переменных по-русски
>>Национальные символы в идентификаторах — прямое нарушение общепринятых стандартов кодирования. > Где, когда, в каких общепринятых стандартах, какой страны, мира?. Только не приплетайте сюда ошибку Pascal. Я думаю в .Net Object >Pascal разрешит использовать более 26 символов.
Интернациональные стандарты. Английский сейчас — эсперанто в мире программизмов. И вне зависимости от того, кто написал код — китаец, чукча или россиянин — код должен быть понятен всем, если есть цель создать хороший код.
> Всегда есть где-то, в какой-нибудь лингве таблица соответствия названия выполняемой функции. Уже проходили.
И что ?
> > Мне в свое время один заблудившийся математик мне сообщил, что в программировании делать нечего,... конечное множество команд ... > всё элементарно.
Это он, наверное, на калькуляторе пытался программировать
> В жизни не все так просто. Хорошо, что программист перестал рассматриваться как переводчик чьих-то мыслей в машинный код компьютера. Он должен прежде всего думать.
Согласен !
> В процессе создания программной системы я привык сначала мыслить категориями и образами реальных объектов (цехом, химическим > > > реактором, бухгалтерией и т.п.) постепено погружая их функциональность в программный код, а последний заключая в абстрактную смысловую оболочку. А сей процесс связан у меня непосредственно с родным языком. В моих понятиях примером погружения некоторой категории в программный код является Класс. Состояние категории есть ИмяКласса.ИмяСвойсва или ИмяКласса.ИмяПоля. Как только отлажу метод Класса, от метода для меня остается только смысловая оболочка ИмяКласса.ИмяМетода, этакий "кирпич". От внутреннего программного содержимого метода абстрагируюсь. И дальнейшие программные конструкции пишу, используя этот "кирпич", я думаю образом этого "кирпича".
Ну и какие проблемы обозвать этот кирпич 2-мя — 3-мя английскими словами ?
> Такого уровня знания английского
Других и не надо !
> Я не могу мыслить абстрактными категориями в рамках этих языков.
А этого и не нужно. Мысли по-русски, а оформляй по-английски.
> Так почему я не могу использовать для своих внутренних целей идентификаторами абстрактного на родном языке. Если вы пишите класс для внешнего использования, тогда с вами абсолютно согласен — интерфейс должен удовлетворять правилам.
Зачем писать одно по правилам, другое — нет ? Вот представь, на служебной машине ты едешь по правилам. А на своей — нет. Т.е, едешь по встречной полосе, на красный свет и т.д. При этом, кроме тебя, могут пострадать те, кто правила соблюдают и ни в чем не виноваты.
> Каким? Не думаю, что есть какой-то международный стандарт. Общефирменный стандарт? Ну это как бы попроще выразиться ...особенно для тех кто там не работает...
Стандарты есть. Они не могут не есть в солидных конторах. У нас, например, даже транслит запрещен (это правило ввел я )
Стандарты нужны прежде всего для того, чтоб чужой код был для человека понятен и комфортен. Русские идентификаторы для большинства программистов (кроме 1С-ников) абсолютно некомфортны.
Не рассуждай, как индивидуалист. Лучше учи по нескольку английских слов на ночь, почитывай английские технические книжки, и используй английские идентификаторы. Постепенно английский перестанет для тебя быть проблемой.
> Наверное имеет смысл в не системных идентификаторах отображать латинские буквы одним цветом, буквы национального алфавита другим, с возможностью конечно отключения этой возможности.
Не нужно это.
Задача решена — УРА ! — землекопа полтора !
Re[2]: Написание имен типов и переменных по-русски
>?, 07.01.05 20:28 >Сейчас такая ситуация, что хороший программист ОБЯЗАН знать английский. Так что решение проблемы — учить английский.
Здесь я с вами абсолютно согласен. Более того, если придется работать на соответсвующего хозяина — буду и идентификаторы и примечания писать на английском. Сначала будет трудно, но не долго.
Но мне непонятно, почему живя в России, думая на русском, работая на русской фирме, создавая программный продукт на русского хозяина и для дальнейшего его сопровождения программистами, знающими русский язык, я должен писать на чужом языке. Цель?
И почему это вызывает смех.
И еще. Создание программной системы чаще всего не самоцель, здесь есть обследование объекта, техническое задание, постановка задачи, эскизный проект, технический проект и кому интересно, может продолжить далее ... и выходная программная документация. И это все должно быть согласовано — и в терминах также. Не один технолог не будет, на совещании у руководства, лазит по таблицам соответствия технических терминов технологии и их английских программных аналогов. Технический Язык должен быть единым, и далеко не всегда в рамках России — английским.
Если программный класс отвечает за управление роботом "Затяжка", то я считал, считаю и буду считать что класс должен иметь имя clsЗатяжка. И фукциональная возможность железа "OпуститьГоловкуЗатяжки" должна иметь соответствующий метод класса clsЗатяжка.mtdOпуститьГоловкуЗатяжки.
Так говорит мой опыт работы по созданию программно-технических комплексов управления объектами химической технологии, робото-техническими комплексами, построению информационных и банковских систем.
Другое дело, ДРУГОЕ, если обследование объекта, техническое задание, постановка задачи, эскизный проект и т.д. на английском и выходная программная документация на английском.
Весь комплекс работ должен быть согласован. Название параметров в документации объекта химической технологии, в тех. задании, в тех. проекте, в программной документации должны быть согласованы, а точнее по возможности быть идентичными.
Я крайне рад, что Microsoft поддерживает эту идентичность.
Здравствуйте, Аноним, Вы писали:
>>Код по-русски — смешон до умопомрачения. Круче только код по-китайски (или по-арабски) :D А>Согласен полностью. А>Насчёт кода по-китайски — если вы найдёте китайскую клавиатуру на 50'000 символов с лишком — можно попробовать. И в исходниках никто копаться не будет. Тогда ещё надо экран чёрным сделать, а буквы — зелёными. А>От себя добавлю — хочется писать на русском, пиши на 1С. А>Но, по-моему уродливо выглядит такой код, ей-богу.
Хм... а зачем такая клавиатура?
Я однажды писал исходники в которых была японская кана. И ничего. Только студия вежливо попросила сохранить сорец в UTF-8
Re[2]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
07.01.05 19:18
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Относительно, тех кто хорошо знает аглицкий. Это прекрасно. Но писать комментарии на нем — полнейший бред, извините. Если не работать на доброго дядю оттуда.
Ну знаете как бывает... Бывает лень раскладку переключать...
Вот лично вам это не мешает? Нисколько?
Re[3]: Написание имен типов и переменных по-русски
Есть еще один момент — есть устоявшиеся термины, используемые в идентификаторах. Например Manager, Handler, View, Collection, Connector, Adapter, Buffer, Converter, DB, Exception, Enum, Flag и много много других. И применение их для опытных программистов облегчает понимание кода, даже если все они насквозь русские. А замена их русскими аналогами как минимум резко снизить комфортность понимания кода. А если еще и устоявщегося перевода нет, то это вообще абзац. А еще некоторые любят транслит в обратную сторону. Представь себе класс с именем имплементация.
Re[3]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
07.01.05 20:52
Оценка:
>?, 08.01.05 00:12 >Есть еще один момент — есть устоявшиеся термины,...
Я считал, что разговор ведется о применении русского языка только для идентификаторов и комментариев в вами же созданной программной конструкции. Если она уже создана кем-то другим, то табу на её изменение.
Но в вашем суждение есть логика — наша страна непредсказуема и д. хватает. Не дай бог — издаст соответствующий манускрипт и будем class писать как класс ( было же пред вместо lim).
Только речь идет не об этой дикой ситуации.
Re[3]: Написание имен типов и переменных по-русски
От:
Аноним
Дата:
07.01.05 21:22
Оценка:
Чем же плох такой код функций
//-- Бинарная сериализация объекта
//-- xms <-- байтовое представление объекта
//=========================================================
private bool binСериализацияОбъекта(object obj)
{
try {
xms=new MemoryStream();
BinaryFormatter binForm=new BinaryFormatter();
binForm.Serialize(xms,obj,null);
xms.Position=0;
return true;
}
catch {return false;}
}
//-- Бинарная десериализация объекта из памяти
//-- xms <-- байтовое представление объекта
//=========================================================
private object binДесериализацияОбъекта()
{
try {
BinaryFormatter binForm=new BinaryFormatter();
return binForm.Deserialize(xms,null);
}
catch {return null;}
}
в дальнейшем меня не интересуют внутренности реализации, только чистые смысловые оболочки binСериализацияОбъекта, binДесериализацияОбъекта. Ими и оперирую.