Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: 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 вся ветка

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.041 c
2-1156340680
Рядовой воин дзена
2006-08-23 17:44
2006.09.10
AppInit_Dlls


2-1156316954
иван8511
2006-08-23 11:09
2006.09.10
Вывод строки на матричный принтер.


15-1155627978
umbra
2006-08-15 11:46
2006.09.10
вопрос про статическую библиотеку и С


4-1147694064
Strimmer
2006-05-15 15:54
2006.09.10
Как считать HINT под курсором на другом приложении?


15-1156132472
num
2006-08-21 07:54
2006.09.10
доступ