Имя: Пароль:
1C
1С v8
Как идеологически правильно?
,
0 Dmitry1c
 
12.11.13
09:47
Процедура 1()

// какой-то код

Если Условие1 Тогда
       2();
КонецЕсли;


КонецПроцедуры

Процедура 2()

// какой-то код

КонецПроцедуры

ИЛИ--------------------------

Процедура 1()

// какой-то код

2();


КонецПроцедуры

Процедура 2()

Если Условие1 Тогда
// какой-то код
КонецЕсли;

КонецПроцедуры
1 mikecool
 
12.11.13
09:48
нас рать
2 Dmitry1c
 
12.11.13
09:49
я склоняюсь к 1 варианту.
3 mikecool
 
12.11.13
09:49
я делю проверки в обработчиках событий и выделяю сами куски обработчиков в отдельные процы
5 Hans
 
12.11.13
09:51
Если условие нужно всегда, то условие я бы поместил во вторую процедуру.
6 Sabbath
 
12.11.13
09:53
(0) ну если в процедуре 2 нету никакого кода вне условия Если, то правильно первый вариант. А вообще может зависеть от того, как вторая используется. Вдруг ее надо вызывать из нескольких процедур, тогда удобней второй вариант. Хотя имхо все равно первый вернее
7 skunk
 
12.11.13
09:54
по идеологии код должен быть понятным ... поэтому если для выполнения процедуры 2 требуется условие ... читабельнее условие оставить в процедуре 1 ... абы читающий не разбирал процедуру 2 в случае если у него условие выполнения не соблюдается
8 skunk
 
12.11.13
09:54
где совалка?
9 SeraFim
 
12.11.13
09:56
Первый вариант - понятнее, легче читается.
Но всё всегда зависит от конкретных условий)
10 Kamas
 
12.11.13
10:01
Все зависит от того: 2() применяется еще где либо и какая конкретнее проверка. Если проверка существенно уменьшает количество вызовов 2() то стоит делать перед вызовом, иначе лучше засунуть в 2(). Мало ли где нам еще потребуется эта функции ))
11 Dmitry1c
 
12.11.13
10:01
(9) да, и как раз недостаток первого варианта - могут быть куски повторяющегося кода-проверки условия
12 1dvd
 
12.11.13
10:08
(11) если условие всегда нужно проверять, то вариант 2
13 Dmitry1c
 
12.11.13
10:09
Кстати, в типовых встречал так:


Если СложноеУсловие() Тогда

Процедура();

КонецЕсли;
14 1dvd
 
12.11.13
10:14
xxx: как мне назвать эти методы?
yyy: да как хочешь... назови Залупа и Патефон!
xxx: а почему Патефон?
© bash
15 Maxus43
 
12.11.13
10:18
Если ты вызываешь процедуру по условию - то п.1, ибо ты можешь вызвать её и без условия из другого места.
Если условие для процедуру одно и то же и всегда - то конечно п.2.
Тут не Идеологически что правильно, а логически.
16 Bigbro
 
12.11.13
10:22
вот (15) вариант мне нравится)
17 gae
 
12.11.13
11:21
Если принципиально всегда будет использоваться так
Если Условие1 Тогда
       2();
КонецЕсли;
то помещай условие внутрь 2().
18 Лефмихалыч
 
12.11.13
11:34
(0) как понятнее будет потом, так и надо писать сейчас. А вообще варианты не эквивалентны ни разу
19 Поросенок Петр
 
12.11.13
11:45
Вызывать процедуру или нет, должна вызывающая сторона решать. Вызываемая процедура должна делать что-то одно. Она де должна делать что-то разное в зависимости от параметров, либо решать делать что-то или не делать. Поэтому вариант 1.

Подробнее - у "Роберта Мартина Фаулера".