информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft сообщила о 44 миллионах... 
 Множественные уязвимости в VNC 
 Шестой Perl превратится в Raku,... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / miscellaneous
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
tr1 пока не использую по причине того, что сидим на 2005-ой... 26.12.08 10:19  Число просмотров: 1834
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> > > Когда-то стандартно было писать delete после
> каждого
> > new.
> > > Теперь такого слова нет ;))
> > А я до сих пор его регулярно набираю. Я что-то делаю
> не
> > так? :-0
>
> Взгляни на "умные указатели". std::auto_ptr,
> std::tr1::shared_ptr, std::tr1::inrusive_ptr - сила.
tr1 пока не использую по причине того, что сидим на 2005-ой Студии, а auto_ptr не подходят по причине необходимости поддержки множества указателей на один объект.
<miscellaneous>
Русские имена переменных, за или против ? 22.12.08 17:50   [Den]
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
Посмотрев на VS2008 обнаружил возможность использовать в коде кириллицу. Переменным теперь можно давать имена на русском языке.
Сижу и думаю, какие в этом плюсы, и какие минусы.
Плюсы ясны: код станет более читабельным, особенно в группе разработчиков, где один говорит на английском как на родном, а другой знает не более двухсот слов.
Минусы: код будет компилиться только под VS2008. Однако это не проблема. Проект на C#, причем под .net3.5
Т.е. это даже и не минус.
Второй: индусам на поддержку этот код не отдашь.
Или отдашь? Нехай русский учат.

Вот я и задумался, а есть ли не религиозные причины не использовать русские слова в коде?
Крайне против. А если проект выйдет за рамки "родного" или... 24.12.08 12:22  
Автор: 3pt Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Крайне против. А если проект выйдет за рамки "родного" или будут попытки
портировать или использовать исходники в другом проекте...
Лично я даже против комментариев на "родном".
Технический англ. нормальный программист просто обязан знать.

+ Англ. язык более лаконичен (если мат не использовать ;) + это как стандарт
+ Обязательно где-нибудь у кого-нибудь вылезут грабли
+ Представь ситуацию наоборот - те присылают переменные и комменты на китайском.

Дело даже не в привычке. Взять тот-же 1С. Там русский ещё хоть как-то оправдан.
Да, проблема поддержки кода иностранными специалистами есть. 25.12.08 03:15  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
> Крайне против. А если проект выйдет за рамки "родного" или
> будут попытки
> портировать или использовать исходники в другом проекте...
> Лично я даже против комментариев на "родном".
> Технический англ. нормальный программист просто обязан
> знать.

И по моему, это единственная не религиозная проблема.
Однако, в скольких проектах вы участвовали, которые отдавались на доработку или сопровождение иностранцам? На моей памяти, такой проект был один!
А сколько проектов отдано на сопровождение отечественным студентам? С десяток наберется!

>
> + Англ. язык более лаконичен (если мат не использовать ;) +

Это минус, а не плюс :) Хотя, кому как, конечно.

> это как стандарт

Когда-то стандартно было писать delete после каждого new. Теперь такого слова нет ;))

> + Обязательно где-нибудь у кого-нибудь вылезут грабли

Эти вылезут всегда :)

> + Представь ситуацию наоборот - те присылают переменные и
> комменты на китайском.

Вот тут как раз можно дифференцировать проекты типа boost, которые являются международными, и проекты типа CrackBugtraqSite ;)

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


> Дело даже не в привычке. Взять тот-же 1С. Там русский ещё
> хоть как-то оправдан.

Вот это как раз еще один плюс. Оправдан почему? Потому что программисты на 1C должны быть квалифицированы в прикладных задачах, и ни ногой не сдалось бухгалтеру, работающему с российским законодательством учить английский.
А чем, собственно, проект по расчету зарплаты на 1C отличается от аналогичного проекта на C# ? Если у того же бухгалтера будет на руках набор действий, типа: Взять_из_базы_данных_последние_записи_в_количестве(), Найти_максимальный_элемент_в_последовательности() и т.п. А все эти действия, не более чем методы в коде, которые сам пользователь уже может компоновать в законченные алгоритмы. Это как раз по поводу (*).
Фтопку таких студентов-девелоперов! 25.12.08 11:47  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
> > Крайне против. А если проект выйдет за рамки "родного"
> или
> > будут попытки
> > портировать или использовать исходники в другом
> проекте...
> > Лично я даже против комментариев на "родном".
> > Технический англ. нормальный программист просто обязан
> > знать.
>
> И по моему, это единственная не религиозная проблема.
> Однако, в скольких проектах вы участвовали, которые
> отдавались на доработку или сопровождение иностранцам? На
> моей памяти, такой проект был один!
> А сколько проектов отдано на сопровождение отечественным
> студентам? С десяток наберется!

Фтопку таких студентов-девелоперов!
Подобные оп~здолы без знания англ., ничего хорошего написать не смогут.

> Есть еще один плюс в локализированых идентификаторах. Его
> источник - рефлекшн.
> Когда отечественному пользователю дают софтину, в
> настройках которой он может указать имя класса-стратегии,
> этот класс лучше назвать на русском. (*)

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

>
>
> > Дело даже не в привычке. Взять тот-же 1С. Там русский
> ещё
> > хоть как-то оправдан.

Чем? Нормальному девелоперу не влом выучить несколько слов из бухгалтерского англ./ам. "сленга".

> Вот это как раз еще один плюс. Оправдан почему? Потому что
> программисты на 1C должны быть квалифицированы в прикладных
> задачах, и ни ногой не сдалось бухгалтеру, работающему с
> российским законодательством учить английский.

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

> А чем, собственно, проект по расчету зарплаты на 1C
> отличается от аналогичного проекта на C# ? Если у того же
> бухгалтера будет на руках набор действий, типа:
> Взять_из_базы_данных_последние_записи_в_количестве(),
> Найти_максимальный_элемент_в_последовательности() и т.п. А
> все эти действия, не более чем методы в коде, которые сам
> пользователь уже может компоновать в законченные алгоритмы.
> Это как раз по поводу (*).

Такой стиль написания софта, ИМХО - моветон. Вся реализация должна быть полностью скрыта от пользователя за дружественным интерфейсом. И по этому поводу (*) я уже высказался выше.
Недоработка разработчика...

Теперь представь ситуацию, что программа удалась, тебе нужно продавать ее движок за границу, но на поддержку забугорных пользователей у тебя элементарно не хватает ресурсов. Что тогда? Переписывать весь код под языки разных стран?
Во первых знание английского и умение программировать - не... 25.12.08 13:42  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
> Фтопку таких студентов-девелоперов!
> Подобные оп~здолы без знания англ., ничего хорошего
> написать не смогут.

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

> Это больше походит на недоработку девелопера, который не
> догадался создать таблицу сопоставления своих модулей с
> userfrendly именами и реализовать выбор модулей по именам в
> интерфейсе.

Это просто другой стиль, и к этому тоже надо привыкнуть. Посмотри на WPF - все имена классов, все имена команд, все имена событий пишутся в xaml, и используются "на прямую" движком, без всяких таблиц преобразований. У тебя вместо самописных таблиц выступает рефлекшн.

> Чем? Нормальному девелоперу не влом выучить несколько слов
> из бухгалтерского англ./ам. "сленга".

Девелоперу невлом, влом бухгалтеру :)

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

Никто и не путает. Когда код был типа strlen( myLovelyString ) != 0 программирование было уделом спецов заточенных под программирование. Основной минус такого подхода - разрыв между пониманием прикладной области и умением программировать.
Теперь, когда появилась возможность писать код типа:
Для_Всех_Сотрудников_В_Департаменте( департамент_программных_разработок )
Посчитать_Премию_За_Месяц( январь );
Программирование отдается в руки специалистов прикладной области, которые совсем не обязаны знать ничего кроме своей работы (в том числе и английский).

> Такой стиль написания софта, ИМХО - моветон. Вся реализация
> должна быть полностью скрыта от пользователя за
> дружественным интерфейсом.

Очень важное слово "ИМХО" ;)

> Теперь представь ситуацию, что программа удалась, тебе
> нужно продавать ее движок за границу, но на поддержку
> забугорных пользователей у тебя элементарно не хватает
> ресурсов. Что тогда? Переписывать весь код под языки разных
> стран?

Поддержка иностранными разработчиками - единственная не религиозная проблема. И об этом я сказал еще в топике, и повторил в нескольких ответах.
Еще как коррелируется. Полный MSDN, TechNet, KnowledgeBase... 25.12.08 17:16  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
> Во первых знание английского и умение программировать - не
> коррелируют. Во вторых, часто бывает дешевле отдать проект
> нескольким студентам, чем вести его матерыми
> разработчиками.

Еще как коррелируется. Полный MSDN, TechNet, KnowledgeBase только на английском.

> Так что на счет топки ты погорячился :)

Может быть... Но вряд ли. :)

> Это просто другой стиль, и к этому тоже надо привыкнуть.
> Посмотри на WPF - все имена классов, все имена команд, все
> имена событий пишутся в xaml, и используются "на прямую"
> движком, без всяких таблиц преобразований. У тебя вместо
> самописных таблиц выступает рефлекшн.

Данный аспект реализации уж точно не коррелируется со знанием Английского.

>
> > Чем? Нормальному девелоперу не влом выучить несколько
> слов
> > из бухгалтерского англ./ам. "сленга".
>
> Девелоперу невлом, влом бухгалтеру :)

Правильно! Ибо нефиг бухгалтеру лезть в конфигуратор и средства разработки.

> > При чем здесь бухгалтер? Он(а) не лезут в конфигурацию
> и не
> > дописывают процедуры - это делает разработчик.
> > Не надо путать локализацию интерфейса пользователя с
> > локализацией исходного кода!
>
> Никто и не путает. Когда код был типа strlen(
> myLovelyString ) != 0 программирование было уделом спецов
> заточенных под программирование. Основной минус такого
> подхода - разрыв между пониманием прикладной области и
> умением программировать.
> Теперь, когда появилась возможность писать код типа:
> Для_Всех_Сотрудников_В_Департаменте(
> департамент_программных_разработок )
> Посчитать_Премию_За_Месяц( январь );
> Программирование отдается в руки специалистов прикладной
> области, которые совсем не обязаны знать ничего кроме своей
> работы (в том числе и английский).

Разве раньше прикладной софт писали системные программисты?
Еще со времен DOS "прикладные" вызовы функций ОС были более просты и понятны, нежели вызовы функций BIOS.

> > Такой стиль написания софта, ИМХО - моветон. Вся
> реализация
> > должна быть полностью скрыта от пользователя за
> > дружественным интерфейсом.
>
> Очень важное слово "ИМХО" ;)

Дык ты спрашиваешь "ИМХО" форумян, они тебе свое "ИМХО и выкладывают. Тут не о чем спорить... Каждый разработчик волен выбирать удобный ему стиль, язык и нотацию, если, конечно, руководство не навязывает иное.

> Поддержка иностранными разработчиками - единственная не
> религиозная проблема. И об этом я сказал еще в топике, и
> повторил в нескольких ответах.

Разве это не достаточный повод использовать "классический" стиль? ;)
Выучить пару сотен слов на английском куда проще, чем... 25.12.08 10:13  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> Вот это как раз еще один плюс. Оправдан почему? Потому что
> программисты на 1C должны быть квалифицированы в прикладных
> задачах, и ни ногой не сдалось бухгалтеру, работающему с
> российским законодательством учить английский.
> А чем, собственно, проект по расчету зарплаты на 1C
> отличается от аналогичного проекта на C# ? Если у того же
> бухгалтера будет на руках набор действий, типа:
> Взять_из_базы_данных_последние_записи_в_количестве(),
> Найти_максимальный_элемент_в_последовательности() и т.п. А
> все эти действия, не более чем методы в коде, которые сам
> пользователь уже может компоновать в законченные алгоритмы.
> Это как раз по поводу (*).
Выучить пару сотен слов на английском куда проще, чем изучить программирование на 1С или C#. Не надо лениться. К тому же знания английского точно в жизни не помешают.

> Когда-то стандартно было писать delete после каждого new.
> Теперь такого слова нет ;))
А я до сих пор его регулярно набираю. Я что-то делаю не так? :-0
Взгляни на "умные указатели". std::auto_ptr,... 26.12.08 01:03  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> > Когда-то стандартно было писать delete после каждого
> new.
> > Теперь такого слова нет ;))
> А я до сих пор его регулярно набираю. Я что-то делаю не
> так? :-0

Взгляни на "умные указатели". std::auto_ptr, std::tr1::shared_ptr, std::tr1::inrusive_ptr - сила.
tr1 пока не использую по причине того, что сидим на 2005-ой... 26.12.08 10:19  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> > > Когда-то стандартно было писать delete после
> каждого
> > new.
> > > Теперь такого слова нет ;))
> > А я до сих пор его регулярно набираю. Я что-то делаю
> не
> > так? :-0
>
> Взгляни на "умные указатели". std::auto_ptr,
> std::tr1::shared_ptr, std::tr1::inrusive_ptr - сила.
tr1 пока не использую по причине того, что сидим на 2005-ой Студии, а auto_ptr не подходят по причине необходимости поддержки множества указателей на один объект.
Украинская юникодная i (не говоря уж о B-В и проч) должны добавить проблем 22.12.08 21:51  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка>
Ещё если сохранить этот текст в utf8, а потом открыть в CP1251, мы выловим кучу вопросов.
А ещё - читая код, голова (как правило) настраивается на восприятие латиницы, и лично меня очень напрягает нажимать альт+шыфт в голове, например, при чтении 1Сных исходников
Как-то довелост пропрограммировать на языке с полностью... 23.12.08 10:31  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> восприятие латиницы, и лично меня очень напрягает нажимать
> альт+шыфт в голове, например, при чтении 1Сных исходников

Как-то довелост пропрограммировать на языке с полностью русифицированном синтаксисом.
Поначалу заплевал монитор, а недели через три привык так, что не ощущал разницы.
Ну да, это религия, не более того. Тока нарушать её всё равно плохо ИМХО 23.12.08 12:00  
Автор: Ustin <Ustin> Статус: Elderman
<"чистая" ссылка>
Даже за комментарии на "родных языках" я иногда готов убить 22.12.08 21:10  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Не говоря уж об идентификаторах.
Англоговорящих? :)) 24.12.08 18:21  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
Сомниваюсь насчет читабельности 22.12.08 18:13  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
> Посмотрев на VS2008 обнаружил возможность использовать в
> коде кириллицу. Переменным теперь можно давать имена на
> русском языке.
Ужос.

> Плюсы ясны: код станет более читабельным, особенно в группе
> разработчиков, где один говорит на английском как на
> родном, а другой знает не более двухсот слов.
Разработчик, не знающий английского, не имеет права на существование. Как он будет доки читать? Он хочет, чтобы ему весь MSDN перевели?

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

> Минусы: код будет компилиться только под VS2008. Однако это
> не проблема. Проект на C#, причем под .net3.5
> Т.е. это даже и не минус.
> Второй: индусам на поддержку этот код не отдашь.
> Или отдашь? Нехай русский учат.
Охренеть. Значит, индус пусть учит русский, а у нас уже и разработчики в английском 200 слов знают? Здорово. Вообще последний вопрос абсурден, имхо.
Может это всего лишь привычка? 22.12.08 18:39  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
> Разработчик, не знающий английского, не имеет права на
> существование. Как он будет доки читать? Он хочет, чтобы
> ему весь MSDN перевели?

Это не более чем мнение. Помню у некоторых преподавателей в институте было мнение, что разработчик не знающий ассемблера не имеет право на существование ;)

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

#include "stdafx.h"
#include <sstream>
#include <iostream>
using namespace std;

void OutStringMethodForTest()
{
	string stringForOutput = "Hello message";
	cout << stringForOutput << endl;
}

void Тестовый_Метод_Для_Вывода_Строки()
{
	string строка_Для_Вывода = "Тестовое сообщение";
	cout << строка_Для_Вывода << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
	OutStringMethodForTest();
	Тестовый_Метод_Для_Вывода_Строки();
	return 0;
}

---

Если отбросить привычку - какая функция выглядит приятней ?

> > Или отдашь? Нехай русский учат.
> Охренеть. Значит, индус пусть учит русский, а у нас уже и
> разработчики в английском 200 слов знают? Здорово. Вообще
> последний вопрос абсурден, имхо.

Это была шутка. Проблема поддержки "локализованного" кода действительно возникает.
ИМХО, strOutputTestMethod() как-то привычнее и читабельнее, потому что короче, в т.ч. 24.12.08 18:26  
Автор: Den <Denis> Статус: The Elderman
<"чистая" ссылка>
раскладки переключать замучаетесь 22.12.08 18:04  
Автор: dl <Dmitry Leonov>
<"чистая" ссылка>
Стандартные имена, классы, функции ведь никто не отменял.
Ну и неизвестно, как к такому отнесется всякий вспомогательный сторонний софт.
пунто свичер нам поможет ;) 22.12.08 18:43  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка>
> Стандартные имена, классы, функции ведь никто не отменял.
> Ну и неизвестно, как к такому отнесется всякий
> вспомогательный сторонний софт.

в сабже шутка (это я теперь для танкистов комментировать буду).

На счет стороннего софта - принято. +1 реальный минус. Хотя опять же, надо посмотреть что за софт, может и не будет проблем.
1






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2019 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach