Как правильно обработать результат оповещенияЗавершения при ПоказатьВопрос? В начале процедуры писать: Если

Результат <> КодВозвратаДаилога.Да Тогда
Возврат;
КонецЕсли;
// ТелоОбработкиЗавершение;
....

Или

Если Результат = КодВозвратаДаилога.Да Тогда
//ТелоОбработкиЗавершение;
...
КонецЕсли;

Мне первый больше нра, но как принято?

16 ответов

15 просмотров

Тут думаю что дело вкуса и по ситуации. Допустим если внутри код не большой то можно второй. Но зачастую там код больше нескольких строк и тогда первый лучше смотрится так как сразу отсекает не нужное и завершает работу процедуры в отличии второго вариант. Большой если тогда не очень смотрится. Особенно если внутри они будут.

да в целом без разницы. главное чтоб по результату выполнялось то что нужно. Просто в первом варианте ты сразу обрубаешь что не нужно например Отмена - сразу отбой и досвидули

Мне второй вариант больше нравится. А вообще - вопрос холиварный.

Юрий-Старовойтов Автор вопроса
Сергей Назаренко
Мне второй вариант больше нравится. А вообще - воп...

Мне понравилось обоснование Андрея выше. Так же рассуждаю. Если что изменять нужно будет, изменения будут не внутри условия.

ТелоОбработки вынести в отдельную процедуру, и прекратить думать о всякой ненужной и неважной фигне

Юрий-Старовойтов Автор вопроса
santjaga
ТелоОбработки вынести в отдельную процедуру, и пре...

Так тело обработки это и есть вызов говорящих процедур, к чему еще 1 слой стека вызова?

Юрий Старовойтов
Мне понравилось обоснование Андрея выше. Так же ра...

А я предпочитаю иметь единственный выход из метода. Так сложнее упустить что-то из виду.

Юрий Старовойтов
Ну вот вполне читаемо же

Я ж говорю - тема холиварная. Если бы код обработки был внутри условия, то на одну строку кода было бы меньше, и читабельность (как на мой субъективный взгляд) была бы выше.

Юрий-Старовойтов Автор вопроса
Сергей Назаренко
Я ж говорю - тема холиварная. Если бы код обработк...

Про выход соглашусь. Но, например, править код дорабатывая, вне скобок условного оператора будет проще (когнитивно)

Юрий Старовойтов
Ну вот вполне читаемо же

Я всегда именно так пишу) Всё понятно, всё читаемо. Не выполнилось условие - возврат, выполнилось - пошли дальше

Сергей Назаренко
Я ж говорю - тема холиварная. Если бы код обработк...

Холивар, да Но по-моему читабельнее когда явно прописан Возврат

Юрий Старовойтов
Про выход соглашусь. Но, например, править код дор...

Ага. А потом долго думать, почему до Вашего кода управление не доходит. И вдруг обнаружить, что тремя экранами выше, в восьмиэтажном условии кто-то Возврат воткнул. Как по мне, как раз наоборот - удобнее править код внутри блока если. Т.е. если условие выполняется, то этот код должен отработать. В других случаях - можно и не заглядывать внутрь условия.

Юрий-Старовойтов Автор вопроса
Сергей Назаренко
Ага. А потом долго думать, почему до Вашего кода у...

Тем временем, выше Рустам подсказал по поводу предварительных проверок. И я в другом участке кода убрал одни скобки условного оператора обрамляющие много строк. Перенес проверку сразу за первой проверкой, как еще одну. Стало читабельней, т.к. избавился от вложенного условия. Пишу больше для себя, чтобы сформулировав самому определиться и идти дальше. Дело вкуса, возможно.

Сергей Назаренко
Ага. А потом долго думать, почему до Вашего кода у...

По этому процедуры должны быть максимально атомарны и самодостаточны. Когда в них начинают добавлять не связанные вещи это и приводит к тому что описали.

Похожие вопросы

Обсуждают сегодня

Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
А как заставить поиск искать? Есть такая формочка <select class="form-control custom-select" name="brand_id" data-handler="onGetBrands"></select>
Денис Александрович
5
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
с помощью чего можно бота добавить как админа в чат? (условно в боте есть кнопка, нажатие на которую приводит тебя к выбору чата и выдаче прав боту)
ηє νєямσяє
5
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Добрый день, подскажите как правильно сделать filter в backend-e. Есть модель (товар) у который связь belongsToMany (компания), компаний > 4k, поэтому выборку типа ->all(); н...
Max Dubovsky
7
Или зателаешь в Шелл контейнера ?
Vladimir 
3
А цены чем оправданы?
Lencore
7
Каким то образом можно определить ширину экрана пользователя перед загрузкой partial-а? Надо рассчитать ширину кадров слайдера для ресайза картинок для container-fluid.
Point 111
22
Карта сайта