The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Почему администрирование серверов ключевых открытых проектов..."
Отправлено Ъ, 09-Янв-10 22:16 
>Объяснить почему goto зло, он так и не смог, всё ссылался на авторов мега книжек по программированию.

Если отвлечься от теоретиков и вспомнить практику, как это было...

Раньше в основном goto это и было jmp  (в нынешнем понятии short jmp), т.е. преход был ограничен 128 байтами.  
Представьте что вы написали код и этот код работает, а потом спустя какое-то время вас просят внести дополнение в код своей программы вы вставляете дополнительный код и получаете неработоспособное приложение хотя вроде бы логика и синтаксис нигде не были нарушены, а разгадка неработоспособности вашего кода в этом самом ограничение перхода в jmp, переход просто перестает работать.

Разобравшись у вас есть два выхода или вынести неработоспособный код  в отдельную подпрограмму или сделать грубый хак вставив еще одну промежуточную инструкцию jmp/goto.

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

Поэтому "наевшись" такого вы в следующий раз вынесите этот код в подпрограмму и будете вызывать его методом call/retr  и советовать никогда не использовать jmp/goto.

Сейчас уже коротких переходов jmp в природе нет (если только вы явно не укажите это), но слава goto как инструкции мешающей понятию кода осталась.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру