Вниз
Скачать: CL | DM;

Философское. Как правильнее выйти из процедуры?   Найти похожие ветки 

← →
novill ©   (2006-08-21 11:49) [0]

Есть некий признак, при появлении которого, процедура должна заканчивать работу.

Как правильнее делать?

...If признак then exit;
...


или

...If not признак
then
 begin
  остальное тело процедуры
 end;
...


← →
@BraIN ©   (2006-08-21 12:20) [1]

По моему скромному мнению, 2.


← →
Ega23 ©   (2006-08-21 12:23) [2]

ИМХО, без разницы. По мне так 2 - более длинно.


← →
Пусик ©   (2006-08-21 12:24) [3]


> novill ©   (21.08.06 11:49) 


If признак then exit; намного более читабельно.


← →
default ©   (2006-08-21 12:24) [4]

слово правильно тут неуместно
для лучшей читабельности кода больше подходит вариант 1 дабы begin end не городить


← →
saxon   (2006-08-21 12:47) [5]


> default ©   (21.08.06 12:24) [4]
> для лучшей читабельности кода больше подходит вариант 1
> дабы begin end не городить

Всегото на 1 слово больше, чем в 1 варианте. :)


← →
Desdechado ©   (2006-08-21 13:31) [6]

Предпочитаю 1 только по той причине, что весь остальной код не нужно сдвигать на 4 позиции вправо. Так его удобнее читать.


← →
Ega23 ©   (2006-08-21 13:37) [7]


> Предпочитаю 1 только по той причине, что весь остальной
> код не нужно сдвигать на 4 позиции вправо. Так его удобнее
> читать.


Вот и я тоже по этой же причине.


← →
Sergey13 ©   (2006-08-21 13:38) [8]

Насколько я понял, если

> Есть некий признак, при появлении которого, процедура должна заканчивать работу
То только вариант 1. Ибо при 2 она фактически и не начнет работу.


← →
guav ©   (2006-08-21 14:04) [9]

Даже для функций предпочитаю вариант 1. Не понимаю противников Exit, Break и Continue.


← →
Ega23 ©   (2006-08-21 14:15) [10]


> Даже для функций предпочитаю вариант 1. Не понимаю противников
> Exit, Break и Continue.


Только Result надо обязательно определить.


← →
DprYg ©   (2006-08-21 14:17) [11]

Exit может быть полезна в try..finally


← →
palva ©   (2006-08-21 15:13) [12]

> Философское. Как правильнее выйти из процедуры?

Философское. Может быть, правильнее в нее не заходить?


← →
AlexWlad ©   (2006-08-21 19:48) [13]

Предпочитаю вариант 1.
Но встречал такую парадигму: "У процедуры/функции может быть только одна точка выхода".


← →
Пусик ©   (2006-08-21 19:54) [14]


> AlexWlad ©   (21.08.06 19:48) [13]
> Предпочитаю вариант 1. Но встречал такую парадигму: "У процедуры/функции
> может быть только одна точка выхода".


Это не парадигма. Это догматизм.


← →
Leonid Troyanovsky ©   (2006-08-21 20:11) [15]


> AlexWlad ©   (21.08.06 19:48) [13]


> Предпочитаю вариант 1.

[12] лучше, IMHO.
Проверить до вызова искомой функции, пуркуа па?

> Но встречал такую парадигму: "У процедуры/функции может
> быть только одна точка выхода".

Стереотипы, IMHO.

Даже самые рьяные противники GOTO протестовали лишь
против ссылок назад, бо, видимо, листинги (были такие
знатные папирусы с исходным кодом) легче гнулись вперед.

А, возможно, просто раздражают отсылки к уже читанному
(не надо нам "Баден-Баден" - чего мы совсем тупые).

--
Regards, LVT.


← →
Галинка ©   (2006-08-21 20:37) [16]

Главное выяснить, появляется ли признак во время выполнения процедуры, или он извествен еще до ее вызова...


← →
Leonid Troyanovsky ©   (2006-08-21 20:44) [17]


> Галинка ©   (21.08.06 20:37) [16]

> Главное выяснить, появляется ли признак во время выполнения
> процедуры, или он извествен еще до ее вызова...


Главное в танке не это.

Бо, если во время исполнения процедуры некий признак стал
не таковым, как от него ожидалось, то существует наиспытанейший
способ известить об этом общественность путем того же raise.

--
Regards, LVT.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.029 c
15-1155803907
ArtemESC
2006-08-17 12:38
2006.09.10
Запись в MBR


1-1153814890
312Kbps
2006-07-25 12:08
2006.09.10
Crystal Reports 9 + Delphi 7 !!!!


2-1156145761
Селезин
2006-08-21 11:36
2006.09.10
Разбиение строки в масив


1-1154167517
OlDirtyBastard
2006-07-29 14:05
2006.09.10
Подскажите как передавть приложению параметры,


15-1155342176
belly_tiamat
2006-08-12 04:22
2006.09.10
Протокол HILTI дальномер PD28




   Наверх