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

Почему goto нехороший стиль программирования ?

Почему использование goto в программировании нехороший стиль программирования ?
Настоящий профессионал должен уметь пользоваться всеми средствами языка, в том числе и оператором goto, иначе он не профессионал. Наклепать гвоно код можно и без goto, а вот оценить целесообразность применения goto, и в случае необходимости повысить эффективность кода без ущерба структурирования и читабельности - это сложная задача. Фанатично шарахаются от goto как правило начинающие недопрограммисты.

goto ничуть не ухудшает опримизацию компилятором, поскольку во все операторы с разветвлением вмонтирован goto, которого программист не видит. А беспорядок (лапшу и прочее) делает не оператор goto, а программист, так что не надо сваливать свои грехи на несчастный оператор. Во всех багах виноваты только ваши кривые руки и косые глаза.
ИШ
Игорь Шмотин
21 360
Лучший ответ
Данный оператор включен в C/C++ для совместимости с Assembler, в котором без него нельзя обойтись. Существует такое понятие как Архитектура фон Неймана, она включает пять принципов, четвёртому, из которых, использование goto противоречит!
Однако, есть случай, когда использование оператора необходимо. Этот тот случай, когда нужно немедленно выйти из глубоко вложенного цикла, например 20-го. Но, и в этом случае, метка должна находится сразу после окончания самого внешнего цикла. Такая конструкция позволит, сократить количество проверок в циклах, что существенно сократит код, увеличит быстродействие и не нарушит принцип последовательности выполнения алгоритма.
Шурик
Шурик
60 835
Такой вопрос может задать только тот, кто не пробовал модифицировать ЧУЖУЮ программу с кучей GOTO. Мне такое счастье досталось. С тех пор я даже насильственным способом запрещал его использование.
так говорят те, кто и в трёх соснах заблудиться может.
Иван Гергель
Иван Гергель
70 900
По трем причинам: делает программу менее понятной, мешает оптимизации кода компилятором и замедляет выполнение программы процессором, тому приходится сбрасывать конвейер команд.
Ярослав С.
Ярослав С.
86 167
Слишком легко запутаться. Например, такой псевдокод:
...какой-то код с развилками и циклами; (1)
открыть_файл;
...еще какой-то код с развилками и циклами; (2)
закрыть_файл;
...и еще какой-то код с развилками и циклами; (3)
в нем точно известно, что файл открылся и закрылся.
А если вместо развилок и циклов ставить goto, то где-то может оказаться переход из блока (1) в блок (2), и тогда получится, что идет работа с неоткрытым файлом, или из блока (2) в блок (3) - тогда файл не закроется после работы.
Niyazi Humayov
Niyazi Humayov
56 595
потому что ведет к лапше и ухудшает читаемость кода
Код становится запутанным. "Прыжки" могут привести к пропуску необходимых операций, определения данных или др.
Yestay ~~~~
Yestay ~~~~
25 952
...Он уже давно "вышел
из употребления" в программировании, поскольку способствует созданию
"макаронного" кода. Тем не менее оператор goto все еще находит применение — иногда даже
эффективное. В этой книге не делается никаких далеко идущих выводов относительно
правомочности использования оператора goto для управления программой. Следует,
однако, подчеркнуть, что этому оператору трудно найти полезное применение, и
поэтому он не особенно нужен для полноты языка программирования. Хотя в некоторых
случаях он оказывается удобным и дает определенные преимущества, если
используется благоразумно. В силу этих причин оператор goto упоминается только в данном
разделе книги. Главный недостаток оператора goto с точки зрения программирования
заключается в том, что он вносит в программу беспорядок и делает ее практически
неудобочитаемой. Но иногда применение оператора goto может, скорее, прояснить,
чем запутать ход выполнения программы.
МП
Михаил Пулин
15 097
Александр, Вы написали полный бред. Использование goto правда является плохим стилем. Не буду говорить что-то большее и говорить, что Вы чего-то не знаете только из-за Ваших (84220).. Заслуживает хотя бы внимания.
ответ по запросу лапши программирование в википедии

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