|
Платежеспособный зверь
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
|
|
Оператор GOTO: за и против20.11.2011, 16:38. Показов 16339. Ответов 146
Метки нет (Все метки)
Люди, по ходу, газет не читают:
Оператор GOTO в языках высокого уровня является объектом критики, поскольку чрезмерное его применение приводит к созданию нечитаемого «спагетти-кода». Впервые эта точка зрения была отражена в статье Эдсгера Дейкстры «Доводы против оператора GOTO», который заметил, что качество программного кода обратно пропорционально количеству операторов GOTO в нём. Статья приобрела широкую известность как среди теоретиков, так и среди практиков программирования, в результате чего взгляды на использование оператора GOTO были существенно пересмотрены. В своей следующей работе Дейкстра обосновал тот факт, что для кода без GOTO намного легче проверить формальную корректность. Код с GOTO трудно форматировать, так как он может нарушать иерархичность выполнения (то есть парадигму структурного программирования), и потому отступы, призванные отображать структуру программы, не всегда могут быть выставлены правильно. GOTO также аннулирует многие возможности компилятора по оптимизации управляющих структур Доводы против оператора GOTO оказались столь серьёзны, что в структурном программировании его стали рассматривать как крайне нежелательный Начало тут
0
|
|
| 20.11.2011, 16:38 | |
|
Ответы с готовыми решениями:
146
Оператор GOTO и его метки Goto - за и против Оператор goto |
|
COM‐пропагандист
|
||
| 04.02.2023, 14:36 | ||
|
В программировании такая функция называется чистой.
0
|
||
|
Кормпилятор
|
||||||
| 04.02.2023, 14:50 | ||||||
|
не то что код, в ворде печатать не разумеют. Им кто-то рассказал, что программировать может любой, хотя это далеко не так в силу психико-физиологических особенностей. Вот это и есть целевой контингент этих анализаторов. Анализаторы проверяют по шаблонам на банальные ошибки к алгоритмам это не относится. А ждать пока луп прокрутится - это вообще бред, флаги применяются там, где они не дадут слоудаун из-за лишних пары холостых прокруток цикла и это офигенно малая цена за раскладку алгоритма в линейный итеративный вид, где можно по одной итерации блоху под микроскопом ковать. И состояния там всегда строго разделены, нет никакой даже малейшей необходимости прыгать из одного в другое, потому что сам алг разложен в итеративный несвязанный по состояниям вид. Если ты опускаешься до сортировок и до переходов, то это означает, что лично тебе в твоём коде требуется критическая оптимизация, это в свою очередь означает что надо спуститься на уровень ниже на ассемблер и там уже оптимизировать. Есть простая закономерность: чем качественнее твой алгоритм, тем меньше эффект от технической оптимизации. В идеальном случае это 85%-95% и соотв 15%-5%. По большому счёту достаточно просто хреначить нормально алгоритмически чтобы уже хорошо работало просто не все это умеют и с должным качеством, Antony Gual это доказывал и рейкастером и Jpeg декодером. Когда ты размазываешь оптимизацию по всей программе а не усираешься в отдельно взятой сортировке - общий эффект от твоей оптимизации гораздо выше и заметнее, при этом упор на алгоритмич. оптимизацию даёт максимальный эффект. Про это уже рассказывал когда расписывал потребность всё писать руками и пояснял, что даже если что-то не дотягивает до эталонных рыночных образцов - беды в этом нет, коли всё формализуется и идёт работа над алгоритмами, потому что софт именно в среднем будет иметь возможность работать быстрее аналогов, конечно это зависит от приложенных усилий и самого программиста, но описываемый мною подход даёт такие возможности. Тайн никаких нет, это вполне себе понятная и логичная стратегия разработки. работу за письменным столом. И то не все пока ещё впитали суть, то бишь зачем и почему. когда есть рабочее место, настроенная IDE и никто не мешает. Уразумей это. Там есть интересные и сложные моменты, но грубо говоря ты делаешь прогу чисто для себя(бестолковость++). А если делать на коммерс, то там упарываться не надо, это озвученный срок + оформление всего этого дела и ты должен был это понять в холиварах, которые на тему твоей игры вспыхивали. В моих реализованных задачах ты бы утонул на долгие годы и не факт что скодил, я и сам там кое-где обосрался много на себя взяв, надо порой понимать что на свои плечи взваливаешь соизмеряя с уровнем подготовки, опыта и личного кодархива.
1
|
||||||
|
|
||
| 04.02.2023, 14:51 | ||
|
0
|
||
|
Кормпилятор
|
||
| 04.02.2023, 15:12 | ||
|
людям впаривают аналоги мобильных ЦП на дешёвом говняном текстолите за деньги, на которые можно было бы собрать жирного монстра из Китая или середняка из регионалки. Осеписателей нет, т.е. совсем и порты линукса - это всё что данное железо ожидает. Спецификации - закрыты, эмулятор - закрыт. Видеоядра, очевидно, чужие. Элементная база - Китай. А лазер на 130Нм будет готов к 2025-му году. Короче к ребятам вопросов много. Жаренный петух их как-то слабо уклюнул, пока что-то глобальное не случится - так и будут хрен пинать.
0
|
||
|
|
|||||
| 04.02.2023, 15:46 | |||||
|
0
|
|||||
|
Кормпилятор
|
||
| 04.02.2023, 17:46 | ||
|
- это дебилизм, а вот прогу которую я выше приводил - ты без флагов не напишешь вовсе хоть ты конём епись))). Как, как... По комментариям и документации. Ты думаешь у тебя кода меньше будет на одну и ту же задачу? И мол нагрузка на голову меньше, да ты наивняк пипец. Ищещь золотой грааль, которого нет. У тебя есть алгоритм, который работает отталкиваясь от состояний, состояния сгруппированы в CASE, внтури кейза необходимые условия или ещё кейзы или цикл или формулы или вызовы процедур\функций, каждое состояние делает свою часть работы и переключается(переменная в кейзе меняет значение). Таких переключений может быть много. И если GOTO ты можешь не группировать и прыгать хер знает куда(а лохи или ещё большие извращенцы так и будут делать) то CASE сидит ровно в одном месте, найти в нём состояние не проблема, более того он и заточен под это, он буквально орёт тебе - "вот тут состояния элементов алгоритма". Они отрабатывают последовательно, состояние(участок кода) не завершившее свою работу не прыгает по 10 раз туда сюда - потому что это говнокод. В самых общих случаях алгоритм строится так, что состояния идут друг за другом, на то в какое русло переключится состояние может влиять бесчисленное кол-во факторов. И как бы там ни было зашиты эти состояния будут в порядке того как разрабатывался алгоритм, если при разработке человек всё разложил по полочкам - то будет очень даже читабельно, т.к. одного взгляда будет достаточно, чтобы понять что это последовательно идущие части одного толстого алгоритма, разбитого на состояния. И опять же не все алгоритмы удастся нормально сделать на флагах, но их множество гораздо более обширное, чем всех остальных. Они дофига где применяются, например, в большинстве конвеерных задач.
0
|
||
|
COM‐пропагандист
|
||
| 04.02.2023, 20:30 | ||
|
Чистая же функция при одних и тех же параметрах всегда будет выдавать один и тот же результат.
0
|
||
| 04.02.2023, 20:30 | |
|
Оператор goto
оператор GoTo Безусловный оператор GoTo Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|