Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 12.02.2011, 22:25   #71
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Нет-нет, Вы свою позицию обозначьте. GOTO - зло, не всегда зло, обычный прием или самый главный оператор. Мой выбор - два.
Мой выбор - три. Для меня это обычный прием в необходимых на то случаях. Здесь такой случай уже упоминали - выход из вложенных циклов.
Реклама:
Bill вне форума  
Непрочитано 12.02.2011, 22:27   #72
testerplus
Прописка
 
Регистрация: 26.01.2009
Сообщений: 249
Сказал спасибо: 23
Сказали Спасибо 102 раз(а) в 61 сообщении(ях)
testerplus на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Сейчас вот Миландр есть, вроде у него контроллеры с 5п не только на бумаге. Но мне уже и на ширпотребе хорошо
А опыта работы с Миландром нет? Мне предлагали погонять программу на предмет ошибок (аналог PIC17), но по деньгам не договорились.

Цитата:
Странный это документ. Сам по себе goto не опасен. И есть случай, когда его применение красиво. Я правда только один знаю.
А я - три

Цитата:
Нет-нет, Вы свою позицию обозначьте. GOTO - зло, не всегда зло, обычный прием или самый главный оператор. Мой выбор - два.
Мой тоже два. Т.е. обычно - зло, но иногда - его включение сильно облегчает жизнь. Но я - не разработчик, и редко пишу большие программы (в больших стараюсь избегать goto). Когда я работаю над чужими исходниками, я в 99% случаев убираю goto (иногда оставляю, но строго комментирую и место откуда прыгаем и место куда прыгаем)
testerplus вне форума  
Непрочитано 12.02.2011, 22:28   #73
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от Bill Посмотреть сообщение
Здесь такой случай уже упоминали - выход из вложенных циклов.
Я упомянул тот единственный случай, где применяю goto. Поэтому и выбор два, а не 1.
Больше никогда не нужен. Если и у Вас так, то это два. Три - широкое применение. 4 - в каждой функции есть
kison вне форума  
Непрочитано 12.02.2011, 22:39   #74
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от kison Посмотреть сообщение
Я упомянул тот единственный случай, где применяю goto. Поэтому и выбор два, а не 1.
Больше никогда не нужен. Если и у Вас так, то это два. Три - широкое применение. 4 - в каждой функции есть
Хм... Пусть будет по-вашему. Только есть еще один случай, когда я позволяю себе изредка применять goto. Об этом тоже уже упоминали - функция должна иметь только одну точку выхода.
Bill вне форума  
Непрочитано 12.02.2011, 22:54   #75
Ar-Gen-Tum
Почётный гражданин KAZUS.RU
 
Регистрация: 19.10.2010
Сообщений: 1,752
Сказал спасибо: 158
Сказали Спасибо 640 раз(а) в 364 сообщении(ях)
Ar-Gen-Tum на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Текст программы должен быть легкочитаемым и понятным "с лету".
Как правило для контроля. В этом смысле Pascal-подобные языки самые хорошие.
Плюс у них константы и переменные объявляются в самом начале функции/процедуры.
Всякие макросы, GOTO, объявления переменных где попало весьма затрудняют
контроль текста программы. А вот оператор return не в конце программы
не ухудшает читабельность процедур/функций. Если конечно текст хорошо стилизован.
Ассемблер при многих достоинствах плохо читаем(контролируем).
Из-за большого размера, инструкций перехода и вызова.
Ar-Gen-Tum вне форума  
Непрочитано 12.02.2011, 22:58   #76
Bookaz
Заблокирован
 
Регистрация: 31.10.2010
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Bookaz на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

А чем вызов функции или процедуры отличается от GOTO?
Bookaz вне форума  
Непрочитано 12.02.2011, 23:09   #77
Ar-Gen-Tum
Почётный гражданин KAZUS.RU
 
Регистрация: 19.10.2010
Сообщений: 1,752
Сказал спасибо: 158
Сказали Спасибо 640 раз(а) в 364 сообщении(ях)
Ar-Gen-Tum на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от Bookaz Посмотреть сообщение
А чем вызов функции или процедуры отличается от GOTO?
Счас банальностей понапишу.
Goto - это инструция безусловного перехода, а вызов - это вызов
с передачей или без неких параметров, с последующим возвратом.
Фишка в том, что вот встретился оператор goto и начинается поиск соответствующей
метки. С вытекающими.
Ar-Gen-Tum вне форума  
Непрочитано 12.02.2011, 23:11   #78
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от Ar-Gen-Tum Посмотреть сообщение
Ассемблер при многих достоинствах плохо читаем(контролируем).
Из-за большого размера, инструкций перехода и вызова.
Ну, я с этим вряд ли соглашусь. Это зависит не от языка, а от уровня профессионализма. Плохо читаемую программу написать на ЯВУ ничуть не сложнее, чем на ассемблере. И наоборот, на ассемблере профессионал напишет программу так, что читать ее - одно удовольствие.
Я сам учился программированию изучая исходные тексты ОС RSX-11M и т.п. Отличный стиль, превосходная документация - Сразу было видно, что писали Профессионалы. Тут же появилось стремление им подражать.
Bill вне форума  
Сказали "Спасибо" Bill
pinco (13.02.2011)
Непрочитано 12.02.2011, 23:12   #79
Bookaz
Заблокирован
 
Регистрация: 31.10.2010
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Bookaz на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

А в целом, просто вызов подпрограммы....
Bookaz вне форума  
Непрочитано 13.02.2011, 00:22   #80
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: Отказоустойчивость ПО

Сообщение от testerplus Посмотреть сообщение
А я - три
Там три варианта решения конкретной задачи. Из них только один с goto. Вообще это общеизвестный случай и много раз описан в литературе. Ваши остальные варианты тоже общеизвестны. С функцией не всегда выйдет и неизвестно что в циклах. Может там над локальным массивом операции. С флагом вариант часто используется, но ресурсов требует больше, чем goto. Причем как раз в цикле идет проверка, что не добавляет оптимальности.
Сообщение от Bookaz Посмотреть сообщение
А в целом, просто вызов подпрограммы....
Если бы. Это не вызов, вернуться по ретурн не выйдет. goto без реальной необходимости - самый что ни на есть говностиль. Причем скакать можно куда угодно, хоть вверх хоть вниз в пределах файла. А может и всего проекта, я не очень хорошо знаю на что способен goto. Но что способен уронить программу это точно.
kison вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:17.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot