Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.037 c
2-1155564514
dera
2006-08-14 18:08
2006.09.10
Простой вопрос. Скачал компонент. Как его добавить в Делфи?


15-1155849254
ronyn
2006-08-18 01:14
2006.09.10
Окно выбора пользователя


11-1132487236
homm
2005-11-20 14:47
2006.09.10
Инициализация объектов


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


15-1156082439
DillerXX
2006-08-20 18:00
2006.09.10
Друзья, поделитесь опытом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский