Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Это к глобальному вопросу "Применение ГоуТу - это признак... 20.08.07 12:18 Число просмотров: 5935
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman Отредактировано 20.08.07 12:27 Количество правок: 1
|
> Например: есть некий контроллер с достаточно ненадежной > памятью. В нем крутится некая система вложенных циклов, из > которой необходимо организовать выход по условию, причем, > событие, например, отключение питания, возникает > непосредственно перед проверкой и обработать его необходимо > максимально быстро и надежно, скажем, за время разрядки > конденсаторов в БП. Если организовывать выход из циклов "по
Это к глобальному вопросу "Применение ГоуТу - это признак кривизны кода?", только в данном случае это признак кривизны железа! Надобно над БП поработать, хотя бы конденсаторы заменить, если уж для них выполнение одной микрокоманды так критично. А если они подсохнут со временем, так тут не имеет смыл ГоуТу всякие обсуждать вообще.
> правилам", то неизбежно длительное хранение некой > переменной и сам выход будет занимать значительно больше > времени, за которое переменная может"забыться".
А переменные тут не причем!
Не помню где, но проскакивала "глупая" идея внести в новом стандарте операторы "double_break" и "global_break". Если опять шуму будет много, то добавить трипле и квадрупле брэйк для соответствующего выхода не только из текущего цикла, но и из вложенного. Здесь в любом случае переменные не нужны, как, впрочем, и ГоуТу.
Если б в свое время разработчики не побоялись и не оставили этот оператор, то мир программирования бы никак не постродал, а школьники с студенты, начинающие изучать мир программирования с удивлением бы смотрели на людей, которые бы им рассказывали про такой оператор.
Кому-нибудь приходилось просматривать листинги на Бэйсике или Фортране, длиной в несколько тысячь строк, написанных "гениальным" студентом, где на десяток строк приходится один ГоуТу, причем без комментариев, метки идут в произвольном порядке, а этот могучий оператор порой посылает тебя от начала программы в конец и наоборот!
Так что я не в оппозицию, но за отказ и забвение ГоуТу. Если нужно секунду пошевилить мозгами, чтоб не применить его, то этим следует воспользоваться. На обдумывание других алгоритмических проблем уходит значительно больше времени.
Еще раз извиняюсь за поднятие старой темы, поскольку отсутствовал в момент ее бурного обсуждения.
|
|
|