Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
Здравствуйте, Pushkin, Вы писали:
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
Не знаю... Я не считаю себя программистом старой школы, но с префиксами мне удобнее и никакие ассисты их не заменят. Да и нет их в ассемблере, например.
Здравствуйте, Pushkin, Вы писали:
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
Полагаю, что использование префиксов повышает читабельность исходников.
Однако, считаю неудобным, когда префикс занимает половину имени переменной.
На мой взгляд, для обозначения префикса достаточно одного-двух символов.
Завидую людям, которые могут себе позволить никуда не спешить.
Здравствуйте, _Dinosaur, Вы писали:
D>Здравствуйте, Pushkin, Вы писали:
P>>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
D>Полагаю, что использование префиксов повышает читабельность исходников.
А я так не думаю. VA повышает читабельность гораздо лучше.
Однако, корпоративный стандарт требует префиксов.
D>Однако, считаю неудобным, когда префикс занимает половину имени переменной. D>На мой взгляд, для обозначения префикса достаточно одного-двух символов.
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам
Венгерскую нотацию — давить. Почему — читать Голуба. Который Аллен.
P>Мне почему-то кажется, что в приходом всевозможных VAssist-ов P>реальная необходимость в этом постепенно отмирает. И держится это
Этой необходимости и не было никогда, при нормальном подходе к кодированию.
Да, VA неплохое расширение IDE MSVC++.
Но комфорт обеспечивается засчет колоссального объема памяти и существенной загрузки процессора.
У меня не раз VA ставил раком MSVC и винды.
Завидую людям, которые могут себе позволить никуда не спешить.
Здравствуйте, Pushkin, Вы писали:
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
Сначала надо договориться, про программирование на каком языке мы тут будем флеймить
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Каюсь, не посмотрел. Но там всего один раз и вскользь про VAssist.
Мне кажется, современные "умные" среды это бомба под все разговоры об именах переменных.
Т.е. не вопрос — доп. информация это хорошо. Но и внятное имя — тоже хорошо. Нужен компромисс. С появлением и дальнейшем развитием средств разработки равновесие неуклонно сдвигается в сторону естественного языка (я об имени переменных сейчас говорю, не гоните меня в бэйсик, хотя и в языке тоже сдвигается...). Тенденция есть?
Здравствуйте, Pushkin, Вы писали:
S>>Сначала надо договориться, про программирование на каком языке мы тут будем флеймить
P>Я вообще C++ имел в виду, но, думаю, это общая проблема.
Да почему же общая-то? Например в ассемблере или даже С смысл в венгерке есть, в С++ — совсем немного, в VB — почти никакого. Я уж не гооврю про перлы всякие и awk .
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Pushkin, Вы писали:
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
До меня тут совсем недавно дошло
почему венгерская нотация не нужна!
Просто потому, что если программа правильно ОО-организованна
и язык позволяет (а С++ и С# позволяют!)
действия с объектами разного типа производятся единообразно
и их тип при чтении программы не надо досконально точно помнить.
Вот пример
printf("%s", a); //рванёт? не знаю. надо знаmь тип а.
cout << a; // точно не рванёт.
(Потому printf — это пережиток, а << — это супер.)
Короче, тип либо ясен из контектса, либо не важен.
(Старого С, и темболее ассемблера это не касается.)
Здравствуйте, Рек, Вы писали:
Рек>Здравствуйте, Pushkin, Вы писали:
P>>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще. Мне почему-то кажется, что в приходом всевозможных VAssist-ов реальная необходимость в этом постепенно отмирает. И держится это всё на программистах "старой школы". Но я совсем не уверен.
Рек> Рек>До меня тут совсем недавно дошло Рек>почему венгерская нотация не нужна!
Рек> Рек>Просто потому, что если программа правильно ОО-организованна Рек>и язык позволяет (а С++ и С# позволяют!)
Рек>действия с объектами разного типа производятся единообразно Рек>и их тип при чтении программы не надо досконально точно помнить.
Рек>Вот пример
Рек>printf("%s", a); //рванёт? не знаю. надо знаmь тип а.
Рек>cout << a; // точно не рванёт.
Рек>(Потому printf — это пережиток, а << — это супер.)
Рек>Короче, тип либо ясен из контектса, либо не важен.
При выводе понятно, а при формировании а
А как насчет глобальных переменных, статических членов класса,
различных типов (например указателей на функцию) и т.д.
Завидую людям, которые могут себе позволить никуда не спешить.
Здравствуйте, _Dinosaur, Вы писали:
D>Здравствуйте, Рек, Вы писали:
Рек>>Вот пример Рек>>printf("%s", a); //рванёт? не знаю. надо знаmь тип а. Рек>>cout << a; // точно не рванёт. Рек>>(Потому printf — это пережиток, а << — это супер.) Рек>>Короче, тип либо ясен из контектса, либо не важен.
D>При выводе понятно, а при формировании а
D>А как насчет глобальных переменных, статических членов класса, D>различных типов (например указателей на функцию) и т.д.
Тут нет проблем.
Если ты чтото слеаешь не так, компилятор даст по рукам.
Не даст (случайно) совершить ошибку.
Он (компилятор) будет следить за правильным синтаксисом
и правилами перобразования типов,
а тебе остаётся заниматься смыслом программы.
Здравствуйте, Pushkin, Вы писали:
P>Раз тут развернулось обсуждение префиксов, хотелось бы узнать, как сейчас прогрессивная общественность относится к сабжу и к префиксам вообще.
Я считаю, что такие префиксы могут быть (возможно) полезны в плохо организованном коде написанном несколькими незнакомыми людьми. Мое мнение — префиксы мешают жить. Как тут правильно писалось, в хорошем коде нет надобности во всяких lpszstr. А если тебе не понятно что за хитрая переменная 'lpObjIdontKnowWhatIsIt' то ты все равно полезешь смотреть где она объявлена, заодно и тип посмотришь.
Здравствуйте, Рек, Вы писали:
Рек>Тут нет проблем. Рек>Если ты чтото слеаешь не так, компилятор даст по рукам. Рек>Не даст (случайно) совершить ошибку.
Рек>Он (компилятор) будет следить за правильным синтаксисом Рек>и правилами перобразования типов, Рек>а тебе остаётся заниматься смыслом программы.
При большом объеме исходников
уже не помнишь какая переменная какого типа и зачем она нужна.
Имя переменной (с префиксом конечно же) может быстро это напомнить.
Когда я работал в Делфях или на асме что-то ваял, то не использовал венгерскую нотацию
и мне приходилось постоянно лазить в описания классов, описания переменных для модуля, функции и т.д.
После того как я перешел на MSVC и привык к венгерской нотации, стало намного проще разбираться в исходниках.
Завидую людям, которые могут себе позволить никуда не спешить.