OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 14:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 259 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 13  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 02 Декабрь, 2013 23:58 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 575
Откуда: Россия, Санкт-Петербург
ilovb писал(а):
Madzi, читайте ветку.

Ветку я прочёл. Речь не об этом.
Есть цикл. Есть выход из середины цикла. Т.е. прыжок на его конец.

Для внешнего наблюдателя (по отношению к циклу) это выглядит так:

Код:
  [ операторы ]
  [ цикл ]
  [ операторы ]


т.е. даже нет нарушения линейности.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 07:22 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
Для внешнего наблюдателя (по отношению к макаронам) это выглядит так:

Код:
  [ операторы ]
  [ макароны ]
  [ операторы ]


т.е. даже нет нарушения линейности.

:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 09:44 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
На всякий случай хочу зафиксировать здесь свою устоявшуюся позицию, для истории. Цикл с условным выходом из середины в императивном языке высокого уровня должен быть, обязательно. Безотносительно от того, считать ли его структурным, неструктурным или ещё каким.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:02 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
А обоснование хде? :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:15 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
ilovb писал(а):
А обоснование хде? :D

чую, просто - "На всякий случай хочу" :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:41 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
ilovb писал(а):
А обоснование хде? :D

В настоящий момент обоснование есть в виде наработок, мыслей в голове и черновых записей. Готовой оформленной статьи нет. К тому же я считаю публикацию такой статьи преждевременной.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:43 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Воскресенье, 27 Сентябрь, 2009 04:17
http://forum.oberoncore.ru/viewtopic.php?p=35027#p35027

Цитата:
Такой стиль программирования можно назвать стиль - СКУЛЬПТОР, т.е. отсекаем все лишнее и производим отделку, обработку оставшегося материала.

Используем: "Возврат" (RETURN) для выхода из процедуры; "Прервать" (Break, EXIT) для выхода из цикла; "Продолжить" (Continue) для перехода на конец цикла, т.к. нет смысла и необходимости оставаться в процедуре или цикле. При этом сама обработка оставшегося материала выводится из вложености.
Проверка условий для выхода (перехода в конец цикла) и выход (перехода в конец цикла) производится раздельно по каждому критерию. При этом нет необходимости создавать сложные логические выражения, логика программы становится локальной, четкой, не размазанной.
Для локальности, переносим логику вызова процедуры в саму процедуру.

Мой пример здесь.



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:44 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
albobin писал(а):
чую, просто - "На всякий случай хочу" :)
Да, уж. Не далёкого же Вы обо мне мнения. Но ничего, я не в обиде. :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 10:53 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Геннадий Тышов писал(а):
Воскресенье, 27 Сентябрь, 2009 04:17
http://forum.oberoncore.ru/viewtopic.php?p=35027#p35027
...
Никаких exit'ов, брейков и прочей нечисти! К сожалению, никто не обратил внимания вот на эту мою фразу:
igor писал(а):
Допустим, в том же WHILE'е EXIT'а нет, а выход из цикла есть, так же и LOOP надо было делать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:11 

Зарегистрирован: Пятница, 20 Июль, 2007 17:26
Сообщения: 710
Откуда: Псков
igor писал(а):
albobin писал(а):
чую, просто - "На всякий случай хочу" :)
Да, уж. Не далёкого же Вы обо мне мнения. Но ничего, я не в обиде. :)

Извините, если ненароком всё-таки обидел, видимо неудачно подшутил.
На самом деле, я не святее папы римского и достаточно наbreakил и наcontinueил за всё время кодения.
Если аккуратно пользоваться, то можно получить сиюминутную пользу, когда нет времени хорошо подумать или при других отягчающих обстоятельствах.
Но проблемы, которые вдруг "неожиданно" появляются из-за этих "компромиссов" сводят на нет всё эту как-бы пользу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:33 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
igor писал(а):
Никаких exit'ов, брейков и прочей нечисти!

Если Вы программист, и в используемом Вам языке программирования имеются данные средства, то Вы должны уметь пользоваться всем, а не открещиваться от них.

Средства предоставлены Вам создателями языка и среды программирования.

Если не можете или боитесь, то Вам мешает Ваша зашоренность, возможно Вас так учили и напугали.

http://forum.oberoncore.ru/viewtopic.php?p=13427#p13427 Четверг, 28 Февраль, 2008 20:10 Владимир Паронджанов
Цитата:
Дейкстрианская революция состоит в том, что Дейкстра ввел строгую дисциплину в анархическом царстве процедурного программирования. Но любая дисциплина — это ограничение свободы. Недостаток в том, что Дейкстра ввел неоправданно жесткие ограничения. Фактически Дейкстра добился успеха за счет того, что ввел интеллектуальное рабство и заковал программистов в кандалы.
...
Сегодня тюрьма имени Эдсгера Дейкстры тормозит повышение производительности труда программистов.
...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:42 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Геннадий Тышов писал(а):
Если Вы программист, и в используемом Вам языке программирования имеются данные средства, то Вы должны уметь пользоваться всем, а не открещиваться от них.


"Уметь пользоваться" <> "Использовать"

Можно уметь, но при этом сознательно не использовать.

Цитата:
Если не можете или боитесь, то Вам мешает Ваша зашоренность, возможно Вас так учили и напугали.

А других вариантов не придумалось?


Последний раз редактировалось ilovb Вторник, 03 Декабрь, 2013 11:44, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:43 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Вот что интересно - я ни разу не использовал continue. Break - регулярно.
Вот не возникало у меня таких структур программ, чтобы я посередине цикла стремился в начало.
Выход - да. Но не посередине, а. как правило, в конце.
В тех случаях, когда условие сложное - состоит из нескольких логических выражений.
Тогда часть условия - в условии цикла, а другие отдельные части - в ифах внутри цикла.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:52 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
ilovb писал(а):
А других вариантов не придумалось?

Что Вам ответить?

Если Вы используете КП, то Вам и беспокоиться не надо, в КП же этого нет.

Надо переосмыслить прожитую жизнь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 11:55 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Я 1С-кодер


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 12:01 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
Я, тоже.
1С, самое ответственное программирование.
1С программист ответственен за предприятие, за сроки и перед работниками предприятия.


Последний раз редактировалось ==== Вторник, 03 Декабрь, 2013 12:05, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 12:05 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Не понял, к чему вы это?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 12:10 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 557
К тому, что программируя в 1С, нельзя быть зашоренном, необходимо понимание причин различных табу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 12:11 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
ilovb писал(а):
"Уметь пользоваться" <> "Использовать"

В некоторых случаях "Уметь пользоваться" = "Не использовать".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 03 Декабрь, 2013 12:32 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Геннадий Тышов писал(а):
К тому, что программируя в 1С, нельзя быть зашоренном, необходимо понимание причин различных табу.


И? Вы понимаете почему "Прервать" использовать нежелательно?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 259 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7, 8, 9 ... 13  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB