Top.Mail.Ru
Ответы

Почему GoTo - плохо?

Почему так исторически сложилось, что в коде использовать оператор GoTo - плохой тон?

По дате
По рейтингу
Аватар пользователя
Ученик
19лет

Исторически сложилось с тех времен, когда первым языком программиста часто был язык, в котором без подобного оператора никак (бэйсик, например). И переходя на С, человек по привычке начинал злоупотреблять goto -примерно как описано в предыдущем ответе.
А так, вообще-то, оператор как оператор, есть случаи, когда код с goto гораздо читаемее кода в котором без него обошлись.

Аватар пользователя
Мастер
19лет

Ну, раньше без навешивания на прогу "соплей" никак не обойтись,
а в ассемблере и теперь :)

Аватар пользователя
Профи
19лет

При большом объеме кода очень легко запутаться, ведь безусловный переход нарушает блочную структуру программы. В небольших программах, разумеется, таких проблем не будет, но когда учат программированию, стараются сразу дать понятие СТРУКТУРНОГО программирования. Чтобы потом не было мучительно больно :).

Аватар пользователя
Ученик
19лет

Представь себе код в котормо есть GoTo а в нем еще и еще и еще и после 10 таких интераций проследить структуру алгоритма на первый взгляд почти невозможно для этого надо потратить кучу времени. Тем более нет такого кода в котором нельзя обойтись без этого оператора. его всегда можно заменить на другие стандартные конструкции. Просто надо один раз увидеть такой код и тогда все будет понятно. Я сам один раз разбирал такой код на что потратил весь вечер :(