Результат <> КодВозвратаДаилога.Да Тогда
Возврат;
КонецЕсли;
// ТелоОбработкиЗавершение;
....
Или
Если Результат = КодВозвратаДаилога.Да Тогда
//ТелоОбработкиЗавершение;
...
КонецЕсли;
Мне первый больше нра, но как принято?
Тут думаю что дело вкуса и по ситуации. Допустим если внутри код не большой то можно второй. Но зачастую там код больше нескольких строк и тогда первый лучше смотрится так как сразу отсекает не нужное и завершает работу процедуры в отличии второго вариант. Большой если тогда не очень смотрится. Особенно если внутри они будут.
да в целом без разницы. главное чтоб по результату выполнялось то что нужно. Просто в первом варианте ты сразу обрубаешь что не нужно например Отмена - сразу отбой и досвидули
Мне второй вариант больше нравится. А вообще - вопрос холиварный.
Мне понравилось обоснование Андрея выше. Так же рассуждаю. Если что изменять нужно будет, изменения будут не внутри условия.
ТелоОбработки вынести в отдельную процедуру, и прекратить думать о всякой ненужной и неважной фигне
Так тело обработки это и есть вызов говорящих процедур, к чему еще 1 слой стека вызова?
А я предпочитаю иметь единственный выход из метода. Так сложнее упустить что-то из виду.
Ну вот вполне читаемо же
Я ж говорю - тема холиварная. Если бы код обработки был внутри условия, то на одну строку кода было бы меньше, и читабельность (как на мой субъективный взгляд) была бы выше.
Про выход соглашусь. Но, например, править код дорабатывая, вне скобок условного оператора будет проще (когнитивно)
Я всегда именно так пишу) Всё понятно, всё читаемо. Не выполнилось условие - возврат, выполнилось - пошли дальше
Холивар, да Но по-моему читабельнее когда явно прописан Возврат
Ага. А потом долго думать, почему до Вашего кода управление не доходит. И вдруг обнаружить, что тремя экранами выше, в восьмиэтажном условии кто-то Возврат воткнул. Как по мне, как раз наоборот - удобнее править код внутри блока если. Т.е. если условие выполняется, то этот код должен отработать. В других случаях - можно и не заглядывать внутрь условия.
Тем временем, выше Рустам подсказал по поводу предварительных проверок. И я в другом участке кода убрал одни скобки условного оператора обрамляющие много строк. Перенес проверку сразу за первой проверкой, как еще одну. Стало читабельней, т.к. избавился от вложенного условия. Пишу больше для себя, чтобы сформулировав самому определиться и идти дальше. Дело вкуса, возможно.
Яж говорю - вопрос холиварный.
По этому процедуры должны быть максимально атомарны и самодостаточны. Когда в них начинают добавлять не связанные вещи это и приводит к тому что описали.
Обсуждают сегодня