OberonCore
https://forum.oberoncore.ru/

"отсекать все неудачные случаи и выходить"
https://forum.oberoncore.ru/viewtopic.php?f=27&t=2271
Страница 1 из 1

Автор:  Созерцатель [ Среда, 20 Январь, 2010 23:53 ]
Заголовок сообщения:  "отсекать все неудачные случаи и выходить"

Отделено: viewtopic.php?p=40563#p40563

Интересный стиль написания кода.
Я привык сначала отсекать все неудачные случаи и выходить. А уже где-то в конце, после всех ЕСЛИ, "когда все сомнения развеяны" ставить блок кода с полезной работой.
И ещё. По опыту - лучше в ЕСЛИ участок по истинному значению что бы был маленький, а после ИНАЧЕ - большой. Иногда я для этого даже условие в ЕСЛИ меняю на противоположное.
Это себя оправдывает и помогает потом.
Меня этому научил знакомый, который адрес этого форума дал.

Автор:  Илья Ермаков [ Среда, 20 Январь, 2010 23:56 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

"Выпрыгиваний" стремимся избегать...

А по поводу большей-меньшей части - можно придерживаться и обратного правила: сначала наиболее вероятный ход развития событий, потом - побочные пути (в ДРАКОНе визуально этот принцип отражён в сортировке маршрутов на плоскости).

Автор:  Созерцатель [ Четверг, 21 Январь, 2010 00:11 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

Может вы и правы...
Просто как-то более комфортно чувствовать, что уже ни тени сомнений или не обработанных "плохих" случаев не осталось, руки умыли - можно и сделать, для чего всё это затевалось.
Под словом "выпрыгивать" я имел в виду просто возврат из функции или закрытие ветки условия до конца процедуры. Хотя в возвратом - меньше места и текста и логичнее.

Автор:  Info21 [ Четверг, 21 Январь, 2010 08:47 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

Созерцатель писал(а):
... Просто как-то более комфортно чувствовать, что уже ни тени сомнений или не обработанных "плохих" случаев не осталось, руки умыли - можно и сделать, для чего всё это затевалось.
У меня так же ощущается.

Если сосредоточивать внимание на главном случае, то особые легко забыть.
А так мы как бы подчеркиваем, мол, всё под контролем.

----
Тот код -- поправленный копипаст оригинального исходника.
Вообще там не достаточно жестко divide et impera проведено, поэтому пришлось копипастом.

Автор:  Созерцатель [ Четверг, 21 Январь, 2010 16:02 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

Сергей Губанов писал(а):
Мегаполезно для интерактивной работы.
Просто интересно... Наверное я просто ещё чего-то не понял. Все радуются. Объясните на пальцах - по поподу чего такие бурные возгласы одобрения? :)

Автор:  Созерцатель [ Четверг, 21 Январь, 2010 20:11 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

Илья Ермаков писал(а):
Раньше детишкам надо было писать главную процедуру и вызывать её через команду (коммандер с клюком мышкой).
Теперь предложили способ загнать главную логику детской программки (а может, и не только детской) в секцию инициализации модуля, которая выполняется один раз при его загрузке в память.
Не, для меня это ещё - абракадабра. Я не уловил всей прелести момента! :)

Автор:  Info21 [ Пятница, 22 Январь, 2010 16:05 ]
Заголовок сообщения:  Re: Модуль без процедур (для пущей близости с паскалю и ЕГЭ)

Созерцатель писал(а):
Я не уловил всей прелести момента! :)
Можно ли это назвать самолюбованием?

Автор:  Рыжий [ Среда, 27 Январь, 2010 13:27 ]
Заголовок сообщения:  Re: "отсекать все неудачные случаи и выходить"

Цитата:
Я привык сначала отсекать все неудачные случаи и выходить. А уже где-то в конце, после всех ЕСЛИ, "когда все сомнения развеяны" ставить блок кода с полезной работой.
И ещё. По опыту - лучше в ЕСЛИ участок по истинному значению что бы был маленький, а после ИНАЧЕ - большой. Иногда я для этого даже условие в ЕСЛИ меняю на противоположное.
Это себя оправдывает и помогает потом.
Меня этому научил знакомый, который адрес этого форума дал.

Да, очень старательно ...я тоже стараюсь...

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/