Другие языки программирования и технологии
метки - дурной стиль. почему использование goto считается дурным стилем в программировании? в чем реальные минусы?
Оператор, как оператор. Иногда без него вообще очень трудно бывает обойтись. Но это случается не так часто. Если же операторов goto слишком много, то трудно читать программу. Когда программа маленькая - это не существенно. Но серьёзные программы обычно бывают очень большими, со многими тысячами и десятками тысяч строк когда. Представь, что ты читаешь художественную книгу, и приходится постоянно прыгать: дочитал до середины страницы, а там ссылка на 300-ую страницу, дочитал 300-ую до конца, а там ссылка на 150-ую. Если кто и напишет такую книгу, то это будет плохой стиль.
дурным стилем считается не GOTO, а чрезмерное и неумелое его использование.
чтобы проблем не было, надо для начала уметь создавать метки - а это без инженерного склада ума никогда правильно не делается.
проблемы от использования GOTO могу возникнуть когда человек видит код в первый раз и пытается понять что куда идёт.. . или ещё чего доброго начинает кромсать код на своё усмотрение.. .
однако, если мозги ленивые, то что угодно к дурному приписать можно.
допустим, считается хорошим стилем выделять повторяющийся код в методы, процедуры, подпрограммы, функции и т. п. , но когда начинают тупо код каждого цикла выделять в отдельный модуль, то чрезмерное использование GOTO кажется уже не дурью, а детским лепетом.
так что, Антон Г, "повелось" хаять всё непонятное и трудное.. . случаи всюду одинаковые - что в ассемблере, что в фортране - не надо так "флип-флапить"...
чтобы проблем не было, надо для начала уметь создавать метки - а это без инженерного склада ума никогда правильно не делается.
проблемы от использования GOTO могу возникнуть когда человек видит код в первый раз и пытается понять что куда идёт.. . или ещё чего доброго начинает кромсать код на своё усмотрение.. .
однако, если мозги ленивые, то что угодно к дурному приписать можно.
допустим, считается хорошим стилем выделять повторяющийся код в методы, процедуры, подпрограммы, функции и т. п. , но когда начинают тупо код каждого цикла выделять в отдельный модуль, то чрезмерное использование GOTO кажется уже не дурью, а детским лепетом.
так что, Антон Г, "повелось" хаять всё непонятное и трудное.. . случаи всюду одинаковые - что в ассемблере, что в фортране - не надо так "флип-флапить"...
Полагаю, они делают рекурсию невозможной и затрудняют написание реентерабильных программ. Возможны нарушения (ошибки) в работе со стеками.
Лично сам пользовался довольно часто (как на ассемблере, так и на ЯВУ) , и никаких неприятностей не происходило.
Лично сам пользовался довольно часто (как на ассемблере, так и на ЯВУ) , и никаких неприятностей не происходило.
Только вчера в Wiki сам читал о GOTO - там не все так однозначно.
Почитайте ru. wikipedia. org/wiki/GOTO
Почитайте ru. wikipedia. org/wiki/GOTO
Код программы, во избежание путаницы, должен выполняться сверху вниз, без прыжков в начало программы. Так уж повелось. И, по собственному опыту, метки и правда лучше не использовать - очень легко запутаться. Хотя в ассемблере без них никак конечно, но там другой случай.
Похожие вопросы
- Почему использование табов для отступов считается плохим стилем программирования?
- Почему goto считается неправильным оператором? И как предлагается "правильно" выйти из третьего вложенного цикла?
- Почему html не считается интерпретируемым языком программирования высокого уровня?
- Почему c++ считается очень сложным языком программирования?
- Почему говорят, что не нужно идти в программирование ради денег?
- Почему россияне не могут создать свой язык программирования?
- Почему некоторые личности утверждают, что первым языком программирования должен быть basic или pascal?
- почему нет такой книги, которая учила бы программированию с нуля?
- Почему люди, которые не собираются всерьез заниматься программированием спрашивают о том, как стать программистом?
- Почему использование if в коде тормозит работу программы?
возьму свои слова если мне скажут что там строк 100 чистого кода, а всё остальное - комментарии...