powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Очень интересны нюанс с оператором switch
25 сообщений из 236, страница 2 из 10
Очень интересны нюанс с оператором switch
    #39983051
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, в практике прикладника, возможно, никогда.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983245
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
SQL2008, где хрень?! Там всё отлично!

Хрень в том, что после обработки default идут обработчики case!
И после default должен быть break. Хотя если он стоит последним, как принято, то может break и не нужен.
Хотя я всегда пишу.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983267
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008, кто тебе сказал такую глупость? :)
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983270
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот блин. Я же простой вопрос спросил. Как часто. А мне ответили - как Одессе.
Давайте оценим % соотношений прикладников и НЕ-прикладников. Заметьте... я следую
парадоксу ложной дихтомии и употребляю тактичный термин НЕ-прикладник имея в виду
всех оставшихся.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983281
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Как часто - не знаю, но одно с уверенностью могу сказать - такая фича понадобиться с вероятностью 100%!
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983288
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
mayton,
Как часто - не знаю, но одно с уверенностью могу сказать - такая фича понадобиться с вероятностью 100%!

Ну... хорошо. Я готов согласиться что когда-то кому-то она вдруг понадобиться.
А не достаточно ли нам будет __asm секции для решения этой проблемы?
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983291
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, малопортабельно.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983292
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А закладываться на то, что у всех процессоров одинаковый конвейер - портабельно, значит???
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983301
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
///
Для них стиль стоял не на первом месте, хотя для нас сегодня, измученных нарзаном PSV-Studio
и Сонаром такой подход кажется немыслимым кощунством.

думать им приходилось обо всем разом .
И о портабельности, и о компактности получаемого кода, и об эффективности как результата компиляции, так и работы программиста.

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


mayton

>> Оправдывает ли такое резкое использование синтаксиса полезные эффекты и оптимизации

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

Стартовый код прост как палка: для набора значений, известных как "хорошие случаи" просто goto на метку return True.
Иначе провести доп проверку (с побочным действием) и решить - true оно return или нет.

При этом нет сомнения, что студент за такой код должен быть немедленно отчислен.
:))
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983304
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyУ Кернигана можно найти упоминание о том, произвольность местоположения default была
выбрана /сознательно/, в расчете на то, что при возникновении необходимости дописывать
что-то в существующий switch, корпоративные программисты хотели бы и будут размещать новые
ветки ниже уже существующих, а не произвольным образом втыкивать их между старыми,
превращая старый код в неузнаваемый.
А некоторые советуют размещать ветки в порядке возрастания значений. Это, якобы, позволяет
компилятору генерировать более оптимизированный код...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983317
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Стартовый код прост как палка: для набора значений, известных как "хорошие случаи" просто goto на метку return True.
Иначе провести доп проверку (с побочным действием) и решить - true оно return или нет.

Если говорить о switch, то там набор запрещённых значений.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983320
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

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

Да уж, специфические были у Кернигана представления о корпоративных программистах. Типа о читабельности кода вообще не заботятся, а просто будут вкорячивать новые case в конец списка. Хули там думать, код писать нужно.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983355
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

boobyУ Кернигана можно найти упоминание о том, произвольность местоположения default была
выбрана /сознательно/, в расчете на то, что при возникновении необходимости дописывать
что-то в существующий switch, корпоративные программисты хотели бы и будут размещать новые
ветки ниже уже существующих, а не произвольным образом втыкивать их между старыми,
превращая старый код в неузнаваемый.

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

А как это переводится на человечий язык?
неужто кто-то из компиляторов двоичный поиск по таблице значений реализует?
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983357
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
А закладываться на то, что у всех процессоров одинаковый конвейер - портабельно, значит???
Не понимаю о чём ты...
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983360
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
А как это переводится на человечий язык?
Как прыжок по адресу, хранящемуся в элементе таблицы, доступ к которому осуществляется по базе + индекс из (входное значения минус начальное значение).
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983362
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,
сдаётся, у вас теоретические представления о читабельности реального "промышленного" прикладного кода,
сроком жизни хотя бы лет в 15-20 и непрерывно изменяемого при этом...

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

Это сейчас в моде "рефакторинг" до степени не узнавания родной мамой со свистелками и перделками.
А в традиционной промышленности, после того, как изначальный код написан и программист уволился -
никто не знает , что там делается.

Тронешь - убьёт, без резиновых сапог - не входи.
Допиши и подпишись, чтобы у табе потом интересовались, пока ты жив, что на твоём участке делается.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983363
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev
booby
А как это переводится на человечий язык?
Как прыжок по адресу, хранящемуся в элементе таблицы, доступ к которому осуществляется по базе + индекс из (входное значения минус начальное значение).

Нет.
Порядок следования вариантов никак не может изменить эффективность индексированного доступа к элементам таблицы.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983364
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
petrav,
сдаётся, у вас теоретические представления о читабельности реального "промышленного" прикладного кода,
сроком жизни хотя бы лет в 15-20 и непрерывно изменяемого при этом...

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

Это сейчас в моде "рефакторинг" до степени не узнавания родной мамой со свистелками и перделками.
А в традиционной промышленности, после того, как изначальный код написан и программист уволился -
никто не знает , что там делается.

Вы только что описали крайне низкоквалифицированную команду. Без вариантов.

Я сам работаю в промышленности и наблюдаю системы, которые и по 30-ть лет развиваются. И да, гавнокода там много, всё как в команде вами описанной.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983368
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav,

"промышленная система" и "команда" - это антонимичные понятия, по Гамбурскому счёту.

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

Когда по любой причине произвольно схваченный за рукав не годится - объявляется, что существует "команда",
которой нужны "штыки" (в смысле обученные солдаты, если и не умеющие пользоваться, то хотя бы представляющие
правдоподобно, что значит слово "штык").
Бывает, когда "команда" уходит, то, что после неё остаётся, автоматически превращается в обыкновенный "промышленный код".
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983369
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
petrav,

"промышленная система" и "команда" - это антонимичные понятия, по Гамбурскому счёту.

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

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

Это вы нейронную сеть запрограммировали, что она на форуме такие перлы от вашего имени выдаёт? Мне кажется архитектура НС неудачно выбрана.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983385
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

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

Но всё же вы меня заинтересовали. Давайте начнём с одной мысли.

Что означает ваша процитированная мной фраза?
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983410
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrav
booby

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

...
Что означает ваша процитированная мной фраза?

Буквально то, что написано.

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

Обоснование уменьшения количества ошибок от увеличения количества дум вызывает большой скепсис,
а количество строк кода от увеличения дум уменьшается несомненно.
Когда человек думает, он код не пишет, по крайней мере рабочий код.
В "промышленности" нет задачи иметь в штате "умного человека", но есть задача выпустить "много кода".
Как это обеспечить, в условиях, когда роботы еще не заменили человека-программиста?

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

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

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

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

Вот и всё, приблизительно, если не сильно растекаться по древу.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983504
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

Пожалуйста, в какой стране вы лично наблюдали работу промышленных прикладных программистов?
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983507
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать в разных компилляторах создать декодер кодовой страницы (например win1251-UTF-16)
на case-switch и посмотреть как разные компилляторы соберут это. В линейный. Бинарный поиск. Или хеш-поиск.
...
Рейтинг: 0 / 0
Очень интересны нюанс с оператором switch
    #39983573
petrav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Можно попробовать в разных компилляторах создать декодер кодовой страницы (например win1251-UTF-16)
на case-switch и посмотреть как разные компилляторы соберут это. В линейный. Бинарный поиск. Или хеш-поиск.

Такой декодер он может и в обычный массив перевести где индексом будет 1251.
...
Рейтинг: 0 / 0
25 сообщений из 236, страница 2 из 10
Форумы / C++ [игнор отключен] [закрыт для гостей] / Очень интересны нюанс с оператором switch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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