2010-12-28 5 views
0

Можно создать дубликат:
GOTO still considered harmful?Неужели так плохо, как говорят люди?

Недавно я читал "Язык программирования C" на K & R. Я не знаю много C, но я знаю немного Java, а на стр. 65 (2-е изд.) авторы говорят о Goto и о том, как это почти всегда несовместимо. Недавно я писал игру, где компьютер должен показывать некоторый примитивный уровень AI, где я написал много для, whiles и ifs в Java, чтобы подражать некоторому интеллекту. Как первобытно, это были четыре глубинные встроенные «для циклов» с операторами if по всему месту, и к концу я потерял информацию о том, где положить перерывы, и разбивал некоторые петли, все еще повторяя другие, делая мои игра неиграбельная. В конце концов, после большого стресса я разобрал его.

Мои поиски: насколько плохо Goto?

Если бы у меня был goto в моей игре (Java действительно не предоставил один), я бы не потратил столько времени, сколько занимался перерывами и скобками. Неужели это действительно так плохо? Почему их так ненавидят?

+1

дубликат: http://stackoverflow.com/questions/46586/goto-still-considered-harmful –

+0

В основном по той же причине, вы потеряли себя в слишком много вложенных взглядов и, если условия, причиной, он создает спагетти код. Очень сложно поддерживать некоторый код, который постоянно перескакивает. Чтобы избежать слишком большого количества вложенных циклов и условных ветвей, используйте функции для более эффективного упорядочения кода. – Luis

+1

Вы бы столкнулись с той же проблемой, если бы использовали инструкции goto. Если у вас есть много вложенных циклов и т. Д., Вы, вероятно, должны структурировать свой код по-разному, чтобы этого избежать. Это также помогает понять, что вы на самом деле писали. :) – hangy

ответ

2
более

GOTO заявления в коде менее читаемое будет ваш код, мое мнение

+3

То же самое касается функций. Правильное использование с 'goto' не ухудшает читаемость, и я видел коды. –

Смежные вопросы