powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
25 сообщений из 168, страница 5 из 7
Удобство и скорость разработки в C++
    #39276242
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynojavaпропущено...


20..30 летний новичок, который начитался всякой новомодной ерунды поверхам, причем большей частью на каком stackoverflow, но мнит себя экспертом чуть ли не мирового класса.

в частности типовой признак детектор - использование словечек паразитов вроде Factory или Adapter в названии классов.

А если человек использует венгерскую нотацию, то он будет 'неофитом'? Всё-таки хотелось бы более детальное описание. Это слабый программист? Или это сноб? Или кто? Опишите пожалуйста более детально

за венгерскую нотацию нужно пальцы в дверь зажимать.
как и за йодовскую.

да и за любую, кроме общепринятых - программист в 99% случаев не пишет код, а читает, и если чтение затруднено для десятков или даже тысяч людей одним автором - то автор этот должен быть подвергнут обструкции.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276276
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaSashaMercuryпропущено...


А если человек использует венгерскую нотацию, то он будет 'неофитом'? Всё-таки хотелось бы более детальное описание. Это слабый программист? Или это сноб? Или кто? Опишите пожалуйста более детально

за венгерскую нотацию нужно пальцы в дверь зажимать.
как и за йодовскую.

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

а венгерская нотация не общепринята?))) Какая же нотация по вашему общепринята?) И что вообще по вашему значит слово 'общепринята'? Складывается впечатление, что здесь вы подразумеваете ваше личное мнение
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276301
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynojavaпропущено...


за венгерскую нотацию нужно пальцы в дверь зажимать.
как и за йодовскую.

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

а венгерская нотация не общепринята?))) Какая же нотация по вашему общепринята?) И что вообще по вашему значит слово 'общепринята'? Складывается впечатление, что здесь вы подразумеваете ваше личное мнение

при чем тут мое личное мнение?

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

в мире C - отправная точка это linux kernel, glibc, free bsd kernel, apr.
в мире C++ ..... webkit


хотя вещи вроде

Код: plaintext
1.
hasIndirectAdjacentRelationOnTheRightOfDirectAdjacentChain = false;


или
еще лучше

Код: plaintext
1.
2.
3.
4.
  if (previousDirectAdjacentFragmentInDirectAdjacentChain) {
            RELEASE_ASSERT(tagNamesForDirectAdjacentChain.size() >= previousDirectAdjacentFragmentInDirectAdjacentChain->tagNameMatchedBacktrackingStartWidthFromIndirectAdjacent);
            maxPrefixSize = tagNamesForDirectAdjacentChain.size() - previousDirectAdjacentFragmentInDirectAdjacentChain->tagNameMatchedBacktrackingStartWidthFromIndirectAdjacent;
        }



https://raw.githubusercontent.com/ewebkit/webkit/ewebkit-1.11/Source/WebCore/cssjit/SelectorCompiler.cpp

отберите у них FullHD мониторы! это уже ни разу не смешно


previousDirectAdjacentFragmentInDirectAdjacentChain

сколько раз встречается слово Direct и Adjacent? что за шизофазия у вас в головах, люди?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276312
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaда и за любую, кроме общепринятых - программист в 99% случаев не пишет код, а читает, и если чтение затруднено для десятков или даже тысяч людей одним автором - то автор этот должен быть подвергнут обструкции.я открываю наш проект, который длится двадцать лет, там венгерская нотация (да я ей вообще с детства пользуюсь, другой не было) - общепринятая же? Проект очень удачный.
Да и вообще, для меня нет проблем, в какой нотации работать, я сейчас в 2-3 разных нотациях/схемах работаю в течении дня.

nojavaсколько раз встречается слово Direct и Adjacent? что за шизофазия у вас в головах, люди?
Вооооот, дело не только и не столько в нотации, а ещё и в принятых в проекте правилах написания кода, которые, обычно включают в себя какую-нибудь нотацию, но необязательно.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276369
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaSashaMercuryпропущено...


а венгерская нотация не общепринята?))) Какая же нотация по вашему общепринята?) И что вообще по вашему значит слово 'общепринята'? Складывается впечатление, что здесь вы подразумеваете ваше личное мнение

при чем тут мое личное мнение?

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


Есть какой-то проект 1, пусть этим проектом будет хоть ядро Linux, или что угодно, в этом проекте наверняка будет своя система обозначений, в проекте 2 - пусть это Apache сервер будет другая система обозначения и т.д. Но я не слышал о такой системе как нотация эпэчи, или нотация линэкс. А вот о венгерской нотации слышал каждый школьник, и пусть её критикует кто угодно, но она несомненно одна из общепринятых. Не сомневаюсь, что 95 процентов программистов используют ее хотя бы раз в год, хотя бы в одном месте в своем коде, 100 процентов встречают ее при анализе чужого кода
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276376
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava, у вас слишком радикальные взгляды, и видимо не только по вашему делению людей на так называемых 'неофитов' и остальную группу(надеюсь, что ваши оскорбления данным термином по отношению к членам Сообщества впредь прекратятся), но и по вопросам общей теории информатики
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276382
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava, да ладно бы радикальные. Они неверные. В чем-то, о чем вы говорите, есть истина, при этом как правило она на поверхности, но что-то из ваших суждений откровенно противоречит принятому положению вещей
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276456
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynojava, да ладно бы радикальные. Они неверные. В чем-то, о чем вы говорите, есть истина, при этом как правило она на поверхности, но что-то из ваших суждений откровенно противоречит принятому положению вещей

некий Дмитрий Пучков утверждает, что 95% популяции - ведут себя как идиоты.
причем вне зависимости от социальных слоев: для группы людей со званием профессор правило 95% тоже применимо.

каждый выбирает себе тот путь, который ему комфортнее - так удобнее, не нужно тратить такты на критическую оценку текущего состояния и пути развития того или иного направления. просто будь как все (ой, ну и что, что 95%, все же там), не прогадаешь.

и?

будем и дальше равняться на "принятое положение вещей"?

безусловно! :):)


топик вообще-то не про то, как "помогите подключить библиотеку", а про критику принятых подходов. ты разве не заметил?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276457
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercurynojava, да ладно бы радикальные. Они неверные.

что именно неверное я говорил? даже интересно стало. конкретно?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276470
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMbnojavaда и за любую, кроме общепринятых - программист в 99% случаев не пишет код, а читает, и если чтение затруднено для десятков или даже тысяч людей одним автором - то автор этот должен быть подвергнут обструкции.я открываю наш проект, который длится двадцать лет, там венгерская нотация (да я ей вообще с детства пользуюсь, другой не было) - общепринятая же? Проект очень удачный.
А название проекта можно?

SashaMercuryНо я не слышал о такой системе как нотация эпэчи, или нотация линэкс. А вот о венгерской нотации слышал каждый школьник, и пусть её критикует кто угодно

Ну не слышал, вот послушай. https://www.kernel.org/doc/Documentation/CodingStyle

Можешь сразу начать читать с фразы:

авторEncoding the type of a function into the name (so-called Hungarian
notation) is brain damaged - the compiler knows the types anyway and can
check those, and it only confuses the programmer.

перевод нужен?

И подобных нотаций довольно много - на 80-90% они пересекаются. Ни в одном нормальном OSS проекте не сказано использовать венгерскую нотацию. Или можешь привести обратный пример?

Вот и гугл четко говорит, что любителям венгерской нотации делать и куда идти: https://google.github.io/styleguide/cppguide.html

автор• Do not use Hungarian notation (for example, naming an integer iNum). Use the Google naming conventions, including the .cc extension for source files.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276529
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava,

Оно конечно да, многие люди ненавидят венгерскую нотацию. Но вот так-же факт что все эти люди не понимают смысла венгерской нотации.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276575
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Венгерская нотация удобна не везде. Например в фоксе ее использую, т.к. переменные нетипизированы и ошибки с типами сразу бросаются в глаза.
Например такое вылезет только в рантайм
Код: plaintext
1.
ErrorToLog("Ошибка обработки документа " + lnNum)


Это самый нездоровый косяк: ошибка в сообщении об ошибке. И венгерская нотация позволяет это легко увидеть.

По инерции пользовал ее в С/С++, подобных проблем нет, т.к. компилятор не даст скомпилировать такой код. С другой стороны в фоксе гораздо меньше типов, пары символов префикса хватает, в отличие от С
Код: plaintext
1.
2.
3.
4.
char szNum[10];
char* pszNum;
const char* pcszNum;
const char** ppcszNum;


Так и писал по инерции после фокса, пока тут кто-то не сказал что ерундой занимаюсь, поразмыслил, пришел к выводу что оно реально не надо столько лишних букав в С/С++.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276579
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlnojava,

Оно конечно да, многие люди ненавидят венгерскую нотацию. Но вот так-же факт что все эти люди не понимают смысла венгерской нотации.

В ней нет никакого смысла. Если тебе нужно узнать тип переменной - то достаточно в VS подвести мышку, и вуаля - тебе хинтом покажут декларацию. В Netbeans аналогично, остальное лень проверять.

Несоотвествие типов (к примеру передача int-а в unsigned int или наоборот) - расскажет любой современный компилятор с включенным -Wall. Ну или pc-lint, coverity и прочие подобные - дорасскажет нерассказанное.

Итого венгерская нотация - этот такой-же бессмысленный пережиток недоразвитого инструментария прошлых лет, как и принятое, к примеру, в SQL, T-SQL, PL/SQL правило писать keywords капсом - просто в те годы не было подстветки ключевых слов в редакторе, и так якобы получалось читабельнее.

Ну... ок, монохромные мониторы окончательно исчезли в 90-х, причина - почему писать кейворды капсом, забыта даже старперами, но все продолжают их капсить, зачем-то.

Так и тут. Все уже и забыли, зачем это было придумано, печатают ерунду по привычке, не включая мозг.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276591
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaWhite Owlnojava,

Оно конечно да, многие люди ненавидят венгерскую нотацию. Но вот так-же факт что все эти люди не понимают смысла венгерской нотации.

В ней нет никакого смысла. Если тебе нужно узнать тип переменной - то достаточно в VS подвести мышку, и вуаля - тебе хинтом покажут декларацию. В Netbeans аналогично, остальное лень проверять.А с чего ты решил что венгерская нотация служит для обозначения типов?

Она служит для обозначения того о чем договорятся в конкретном проекте. И если в не типизированных языках ее действительно удобно использовать для типов, то в типизированных она используется для других вещей.
В Си и С++ мирах она чаще всего используется как замена для namespace. Смотри на почти любую библиотеку: GLIB, GTK+, Qt, wxWidgets, почти все lib* проекты и почти все интерфейсный библиотеки.
В MFC она действительно использовалась некоторое время для обозначения типов, отсюда скорее всего и пошла эта глупая ненависть.

nojavaТак и тут. Все уже и забыли, зачем это было придумано, печатают ерунду по привычке, не включая мозг.Угу. А некоторые ругают то чего не понимают...
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276604
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА с чего ты решил что венгерская нотация служит для обозначения типов?
Она служит для обозначения того о чем договорятся в конкретном проектеИменно в таком ракурсе и использую ее /причем в коде для разных языков использую разный набор префиксов/.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276612
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sorry. Идейка появилась.

Хорошо если бы разработчики C++ придумали механизм создания программистом префиксов.
Суть в том чтобы эти префиксы давали знать синтаксическому анализатору на какой тип данных указывает префикс и освобождали программиста от явного декларирования переменных.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276613
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читал недавно документацию по WebGL и незаметно пришлось почитать и по OpenGL

Вот примерно так описывают шаблон функции.

Код: plaintext
1.
return-type Name {1234}{b s i i64 f d ub us ui ui64}{v} ([args ,] T arg1 , . . . , T argN [, args]);
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276622
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlnojavaпропущено...


В ней нет никакого смысла. Если тебе нужно узнать тип переменной - то достаточно в VS подвести мышку, и вуаля - тебе хинтом покажут декларацию. В Netbeans аналогично, остальное лень проверять.А с чего ты решил что венгерская нотация служит для обозначения типов?
Потому что оба случая ее применения говорят о кодировании типов.
https://ru.wikipedia.org/wiki/Венгерская_нотация

Вот тот префикс назначения - nSize, это все равно про разновидность типа.

White OwlОна служит для обозначения того о чем договорятся в конкретном проекте. И если в не типизированных языках ее действительно удобно использовать для типов, то в типизированных она используется для других вещей.
В Си и С++ мирах она чаще всего используется как замена для namespace. Смотри на почти любую библиотеку: GLIB, GTK+, Qt, wxWidgets, почти все lib* проекты и почти все интерфейсный библиотеки.
В имени glDepthFunc https://www.opengl.org/wiki/GLAPI/glDepthFunc

префикс gl используется просто для обозначения namespace, т.е. является реализацией Name Mangling, потому что в C нет namespace как таковых, и это единственный путь там обеспечения глобальной уникальности имен. Но это ни разу не венгерская нотация, т.к. эта функция вообще не возвращает ничего (ибо void), и префикс в ее имени с т.з. типа или назначения переменных не имеет смысла (читаем определение венгерской нотации еще раз).

Я бы не стал путать модульность, пространство имен и венгерскую нотацию. Венгерская нотация это лишь про типы данных и назначения типов, но не про модульность и namespace.


White OwlВ MFC она действительно использовалась некоторое время для обозначения типов, отсюда скорее всего и пошла эта глупая ненависть.

Еще раз - использование одного предопределенного префикса в имени классов и глобальных функций - это лишь реализация namespace. Это не имеет отношения к венгерской нотации.
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276626
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Хорошо если бы разработчики C++ придумали механизм
такой, чтобы программа сама писалась )))
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276627
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Sorry. Идейка появилась.

Хорошо если бы разработчики C++ придумали механизм создания программистом префиксов.
Суть в том чтобы эти префиксы давали знать синтаксическому анализатору на какой тип данных указывает префикс и освобождали программиста от явного декларирования переменных.

дурь несусветная. как и вся венгерская нотация. как и все эти перловые, PHP-ные и бейсиковские префиксы типа.

тип переменной задекларировать нужно лишь однажды.
но зачем с собой возить декларацию типа переменной 10 местах использования этой переменной - это вопрос.
ты уже ведь раз задекларировал, зачем это пытаться делать еще 10 раз подряд?

компилятор вполне догадается и с первого раза.


а вот что стоило бы сделать - так это убрать слабую типизацию - и запретить присваивать int в size_t, без явного приведения.
вот это было бы весьма полезно.

пока это лечится только статическими анализаторами, но...
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276630
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojava,
Вот ты привел ссылку на Википедию... Ну почему ж ты сам эту статью не прочитаешь?
https://ru.wikipedia.org/wiki/Венгерская_нотация
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276639
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaдурь несусветная. как и вся венгерская нотация. как и все эти перловые, PHP-ные и бейсиковские префиксы типа.

тип переменной задекларировать нужно лишь однажды.
но зачем с собой возить декларацию типа переменной 10 местах использования этой переменной - это вопрос.

Затем, что через пол годика, когда понадобиться заглянуть в текст программы /не говоря уже об сторонних разработчиках/ можно
будет в обычном notepad понять, что за тип переменной ...
Далее развивать суждение не буду /вариации на тему/.

PS: Ваше утверждение почти равносильно следующему диалогу.

- Мне квас нравится.

- Что за дурь несусветная нужно пить ПИВО!
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276640
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owlnojava,
Вот ты привел ссылку на Википедию... Ну почему ж ты сам эту статью не прочитаешь?
https://ru.wikipedia.org/wiki/Венгерская_нотация

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

хотя в попытке сохранить лицо - считать, что любой префикс, приписанный к имени класса (включая прилагательные и все, что прописано в camel нотации) - это все есть венгерская нотация, тебе конечно может померешиться там всякое.


ну хочешь считать так (упорствовать в своих заблуждения) - считай, ктож тебе запретит-то :)
типа сохраненное лицо то важнее, ктоже спорит :)
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276643
nojava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012nojavaдурь несусветная. как и вся венгерская нотация. как и все эти перловые, PHP-ные и бейсиковские префиксы типа.

тип переменной задекларировать нужно лишь однажды.
но зачем с собой возить декларацию типа переменной 10 местах использования этой переменной - это вопрос.

Затем, что через пол годика, когда понадобиться заглянуть в текст программы /не говоря уже об сторонних разработчиках/ можно
будет в обычном notepad понять, что за тип переменной ...

да зачем в обычном notepad, давай понизим уровень оснащенности до бумаги, нет, до наскальных надписей?

господи, зачем это все открывать в notepad?

Владимир2012Далее развивать суждение не буду /вариации на тему/.

PS: Ваше утверждение почти равносильно следующему диалогу.

- Мне квас нравится.

- Что за дурь несусветная нужно пить ПИВО!
еще один упорствующий?

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

ну... тоже они имели на то свои причины, вполне им актуальные и очевидные, бесспорно. но кто сейчас на телегах то ездит?
...
Рейтинг: 0 / 0
Удобство и скорость разработки в C++
    #39276644
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nojavaкак и вся венгерская нотация. как и все эти перловые, PHP-ные и бейсиковские префиксы типа.
...
пока это лечится только статическими анализаторами, но...
В PHP нет жестко заданных типов. Поэтому обобщать не надо. Не нужна она сегодня в С/С++, но это не означает что вообще нигде не нужна.

Как ни странно ее придумали для С, лично я узнал о ней из книги про С, в те времена когда не было статических анализаторов, не было студий с подсказками, код тогда писали в примитивных текстовых редакторах.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 5 из 7
Форумы / C++ [игнор отключен] [закрыт для гостей] / Удобство и скорость разработки в C++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]