![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Философское. Как правильнее выйти из процедуры?
novill © (2006-08-21 11:49:00)Есть некий признак, при появлении которого, процедура должна заканчивать работу.
Как правильнее делать?
...If признак then exit;
...
или
...If not признак
then
begin
остальное тело процедуры
end;
...
Leonid Troyanovsky (2006-08-21 20:44:00) [1]
> Галинка © (21.08.06 20:37) [16]
> Главное выяснить, появляется ли признак во время выполнения
> процедуры, или он извествен еще до ее вызова...
Главное в танке не это.
Бо, если во время исполнения процедуры некий признак стал
не таковым, как от него ожидалось, то существует наиспытанейший
способ известить об этом общественность путем того же raise.
--
Regards, LVT.
Галинка (2006-08-21 20:37:00) [2]Главное выяснить, появляется ли признак во время выполнения процедуры, или он извествен еще до ее вызова...
Leonid Troyanovsky (2006-08-21 20:11:00) [3]
> AlexWlad © (21.08.06 19:48) [13]
> Предпочитаю вариант 1.
[12] лучше, IMHO.
Проверить до вызова искомой функции, пуркуа па?
> Но встречал такую парадигму: "У процедуры/функции может
> быть только одна точка выхода".
Стереотипы, IMHO.
Даже самые рьяные противники GOTO протестовали лишь
против ссылок назад, бо, видимо, листинги (были такие
знатные папирусы с исходным кодом) легче гнулись вперед.
А, возможно, просто раздражают отсылки к уже читанному
(не надо нам "Баден-Баден" - чего мы совсем тупые).
--
Regards, LVT.
Пусик (2006-08-21 19:54:00) [4]
> AlexWlad © (21.08.06 19:48) [13]
> Предпочитаю вариант 1. Но встречал такую парадигму: "У процедуры/функции
> может быть только одна точка выхода".
Это не парадигма. Это догматизм.
AlexWlad (2006-08-21 19:48:00) [5]Предпочитаю вариант 1.
Но встречал такую парадигму: "У процедуры/функции может быть только одна точка выхода".
palva (2006-08-21 15:13:00) [6]> Философское. Как правильнее выйти из процедуры?
Философское. Может быть, правильнее в нее не заходить?
DprYg (2006-08-21 14:17:00) [7]Exit может быть полезна в try..finally
Ega23 (2006-08-21 14:15:00) [8]
> Даже для функций предпочитаю вариант 1. Не понимаю противников
> Exit, Break и Continue.
Только Result надо обязательно определить.
guav (2006-08-21 14:04:00) [9]Даже для функций предпочитаю вариант 1. Не понимаю противников Exit, Break и Continue.
Sergey13 (2006-08-21 13:38:00) [10]Насколько я понял, если
> Есть некий признак, при появлении которого, процедура должна заканчивать работу
То только вариант 1. Ибо при 2 она фактически и не начнет работу.
Ega23 (2006-08-21 13:37:00) [11]
> Предпочитаю 1 только по той причине, что весь остальной
> код не нужно сдвигать на 4 позиции вправо. Так его удобнее
> читать.
Вот и я тоже по этой же причине.
Desdechado (2006-08-21 13:31:00) [12]Предпочитаю 1 только по той причине, что весь остальной код не нужно сдвигать на 4 позиции вправо. Так его удобнее читать.
saxon (2006-08-21 12:47:00) [13]
> default © (21.08.06 12:24) [4]
> для лучшей читабельности кода больше подходит вариант 1
> дабы begin end не городить
Всегото на 1 слово больше, чем в 1 варианте. :)
default (2006-08-21 12:24:00) [14]слово правильно тут неуместно
для лучшей читабельности кода больше подходит вариант 1 дабы begin end не городить
Пусик (2006-08-21 12:24:00) [15]
> novill © (21.08.06 11:49)
If признак then exit;намного более читабельно.
Ega23 (2006-08-21 12:23:00) [16]ИМХО, без разницы. По мне так 2 - более длинно.
@BraIN (2006-08-21 12:20:00) [17]По моему скромному мнению, 2.