anonymous@RULINUX.NET~# Last login: 2024-11-24 15:48:09
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

Ненавись к goto



изначально ненависть к goto породили профессоры в университетах, которым это мешало проводить формальный анализ кода и писать умные книжки.

Потом, когда они внушили эту ненависть новым поколениям студентов, те разучились использовать goto правильно.

Ну а когда любое использование goto этими подросшими студентами стало приводить к катастрофе, появились реальные стандарты, типа MISRA, его запрещающие.

Вот такая печальная история. Хотя goto ничем не хуже и не лучше break, continue или return в tail-call

anonymous(*) (2016-04-27 15:41:57)

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: Ненавись к goto от anonymous 2016-04-27 15:41:57
avatar
Скрыть

Re:Ненавись к goto

А я все эти бряки-континуе не понимаю. Вот куда выкинет break из цикла десятой вложенности? Да я ХЗ. Уж лучше гото.

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

anonymous(*)(2016-04-27 16:06:25)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Ненавись к goto от anonymous 2016-04-27 16:06:25
avatar
Скрыть

Re:Ненавись к goto

Была статья Дасгупты. В 1968 или 1969 году. В которой он написал, что излишнее использование goto делает программу не читабельной. И плохо отлаживаемой. И ВСЕГДА нужно избегать операторов goto ВВЕРХ по коду программы. Но есть два случая, когда использования goto ВНИЗ по коду программы оправдано.

С тех пор многие программисты (и мои коллеги, преподаватели программирования) объявили войну оператору goto. Хотя например операторы break и continue это тоже самое goto. Они, с точки зрения понимательности ничем не отличаются. А еще есть ситуация, когда нужно выйти из цикла, и пропустить несколько операторов после окончания цикла. Это можно решить с помощью флага, но такая программа, будет хуже читабельной, чем если прямо использовать goto.

Думать надо. А не просто писать, что goto это всегда плохо. (Кроме этих двух случаев, goto действительно плохо).

вот отсюда накопипастил http://zugunder.com/index.php?topic=157322.25

anonymous(*)(2016-04-27 16:31:20)

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Ненавись к goto от anonymous 2016-04-27 16:06:25
avatar
Скрыть

Re:Ненавись к goto

> Кстати да, меня всегда смущало безапелляционное "гото низя! точка!". Или это мне такие учителя попались, но я нигде спокойного объяснения почему нельзя не встречал.

Господи, что же у чителя-то у тебя были, не могли объяснить элементарных вещей: Goto использовать нельзя потому, что за это могут оторвать руки.

anonymous(*)(2016-04-27 16:43:08)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:Ненавись к goto от anonymous 2016-04-27 16:31:20
avatar
Скрыть

Re:Ненавись к goto

> В которой он написал, что излишнее использование goto делает программу не читабельной. И плохо отлаживаемой. И ВСЕГДА нужно избегать операторов goto ВВЕРХ по коду программы.
Ага, jmp в асме - нормально, а goto в переносимом асме, аки Си, - НИЗЯ!. А ничего, что большая часть циклов далеются с завуалированным goto, т. е. jmp? А уж на асемблерный листинг switch-case неподготовленным goto-ненавистникам лучше не смотреть, и вообще не знать о таком.

anonymous(*)(2016-04-27 16:55:32)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Ненавись к goto от anonymous 2016-04-27 16:43:08
avatar
Скрыть

Re:Ненавись к goto

> Goto использовать нельзя потому, что за это могут оторвать руки.
Где ты был 20 лет назад?! У меня сейчас были бы руки. И ноги.

anonymous(*)(2016-04-27 17:04:54)

[#] [Добавить метку] [Редактировать] Ответ на: Re:Ненавись к goto от anonymous 2016-04-27 17:04:54
avatar
Скрыть

Re:Ненавись к goto

Да что толку тебе говорить, можно подумать тебе 20 лет назад не говорили не пользоваться goto!

anonymous(*)(2016-04-27 22:55:52)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Этот тред читают 2 пользователя:
Анонимных: 2
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!