Другие языки программирования и технологии

метки - дурной стиль. почему использование goto считается дурным стилем в программировании? в чем реальные минусы?

Оператор, как оператор. Иногда без него вообще очень трудно бывает обойтись. Но это случается не так часто. Если же операторов goto слишком много, то трудно читать программу. Когда программа маленькая - это не существенно. Но серьёзные программы обычно бывают очень большими, со многими тысячами и десятками тысяч строк когда. Представь, что ты читаешь художественную книгу, и приходится постоянно прыгать: дочитал до середины страницы, а там ссылка на 300-ую страницу, дочитал 300-ую до конца, а там ссылка на 150-ую. Если кто и напишет такую книгу, то это будет плохой стиль.
Александр Хомутов
Александр Хомутов
7 523
Лучший ответ
Талыш . код одного программного модуля длиной вы многие тысячи строк - это уже изврат.
возьму свои слова если мне скажут что там строк 100 чистого кода, а всё остальное - комментарии...
Максим Пушкарь Да легко, сервисные модули огромные бывают. У меня дипломный проект был на Borland Pascal в 35000 строк кода и около 20 модулей. А уж про ассемблер я вообще молчу, тысячи строк там норма для серьезных программ, был проект где исходники ассемблера занимали 4 Мб, я уж и не помню сколько там строк было
дурным стилем считается не GOTO, а чрезмерное и неумелое его использование.
чтобы проблем не было, надо для начала уметь создавать метки - а это без инженерного склада ума никогда правильно не делается.

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

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

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

так что, Антон Г, "повелось" хаять всё непонятное и трудное.. . случаи всюду одинаковые - что в ассемблере, что в фортране - не надо так "флип-флапить"...
Талыш .
Талыш .
57 024
Полагаю, они делают рекурсию невозможной и затрудняют написание реентерабильных программ. Возможны нарушения (ошибки) в работе со стеками.
Лично сам пользовался довольно часто (как на ассемблере, так и на ЯВУ) , и никаких неприятностей не происходило.
Только вчера в Wiki сам читал о GOTO - там не все так однозначно.
Почитайте ru. wikipedia. org/wiki/GOTO
Код программы, во избежание путаницы, должен выполняться сверху вниз, без прыжков в начало программы. Так уж повелось. И, по собственному опыту, метки и правда лучше не использовать - очень легко запутаться. Хотя в ассемблере без них никак конечно, но там другой случай.
Xo4Y Kak Hyb \9K/
Xo4Y Kak Hyb \9K/
445

Похожие вопросы