Russian Qt Forum
Ноябрь 25, 2024, 22:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как сделать глобальную переменную?  (Прочитано 8430 раз)
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #15 : Ноябрь 22, 2014, 21:19 »

При этом страдает другое религиозное чуйство - красота кода.

https://ru.wikipedia.org/wiki/Goto люблю вики Улыбающийся


Почему? Не вижу связи (я переносил код).

Наверное, потому что в яве нет goto, из-за чего придется переписывать алгоритм, который в реализации с++ использует goto Улыбающийся
Записан

Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #16 : Ноябрь 22, 2014, 21:24 »

Наверное, потому что в яве нет goto, из-за чего придется переписывать алгоритм, который в реализации с++ использует goto Улыбающийся

Его и так придётся переписывать, просто потому, что Java - это не C++ (К.О.). Особенно если С++ код написан с использованием более-менее нового стандарта.
Записан
vulko
Гость
« Ответ #17 : Ноябрь 23, 2014, 00:18 »

Не можно.
Вместо goto можно делать if else, continue, return и break.

При этом страдает другое религиозное чуйство - красота кода.

Понимание почему не можно приходит при переносе кода, например, из плюсов в жабу.

Почему? Не вижу связи (я переносил код).

что такое красота кода? и почему с goto красивее?
реальный пример есть?
Записан
Bepec
Гость
« Ответ #18 : Ноябрь 23, 2014, 10:22 »

Блин, реально разжёванная давно тема - у операторов if else return и прочих имеются правила входа и выхода.
У Goto нет правил, поэтому код написанный с его использованием не поддаётся быстрому анализу человеком. Так же он непонятнее, не структурированнее и сложнее в правке.

Исправляя что то в ф-ции НЕ использующей goto мы точно знаем что можем повлиять только на блок кода в конструкции if else и прочих.

Исправляя что то в ф-ции использующей goto мы не имеем гарантий что не создадим опасную ситуацию даже самыми безобидными исправлениями.

Пример:
Создание и удаление объекта.
Без goto: мы точно знаем где и как будет исполняться код. Создали объект, зашло в if, у него 2 пути в конце которого надо удалить объект.

С goto: мы не знаем где и как будет исполняться код. Создали объект, и вот тут засада... goto может перебросить точку исполнения вверх и мы создадим 2 объекта, может перебросить вниз до создания и мы попытаемся удалить пустой указатель.
« Последнее редактирование: Ноябрь 23, 2014, 10:30 от Bepec » Записан
Hrundel
Гость
« Ответ #19 : Ноябрь 25, 2014, 01:18 »

На работе был один чудлан, написал глючную прогу с 8 глобальными переменными. И давай их в хвост и в гриву использовать. Его через месяц уволили, а меня попросили исправить ошибки и внедрить. Две недели бился с этими 8 перемеными - искал в каком месте программы ошибочные значения получают. Плюнул за три недели написал все с нуля.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.107 секунд. Запросов: 23.