Size: a a a

1С, БСП, DevOps и Архитектура

2021 July 07

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
+
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
@vbondarevsky @infactum и другие любители неявных возвратов. Как вам такое?

Функция СуммаСкидки(Знач КорзинаЗаказа)
   Если КорзинаЗаказа.Строки.Количество() > 10 Тогда
       Возврат Скидки.СкидкаНаКрупнуюКорзину(КорзинаЗаказа);
   ИначеЕсли КорзинаЗаказа.ЕстьКартаЛояльности Тогда
       Скидки.СкидкаПоКартеЛояльности(КорзинаЗаказа);
   КонецЕсли;
КонецФункции
источник

KK

Konstantin Kozyrev in 1С, БСП, DevOps и Архитектура
> bsl
Мило)
источник

AS

Alexander Strizhachu... in 1С, БСП, DevOps и Архитектура
а вдруг)
источник

KK

Konstantin Kozyrev in 1С, БСП, DevOps и Архитектура
Так и нету ведь: всё есть fun, fn, void, func
источник

RB

Ramis Bakhtiev in 1С, БСП, DevOps и Архитектура
ну ясно же что в одном случае человек хочет вернуть результат работы, а в другом нужно просто запустить расчет скидки )))))
источник

g

gosn1ck in 1С, БСП, DevOps и Архитектура
тут хватает возвратов?
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Скидка по карте лояльности процедура?
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Нет, функция, возвращающая сумму скидки
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Смахивает на последствия рефакторинга, когда после блока условия был еще какой-то код, который потом стал нежелательным для выполнения при срабатывании первой ветки блока условия и поэтому в нее влепили возврат, а потом после блока условия код вообще под нож пошел.
Ну это если попытаться как-то оправдать чуть дальше чем простое "забыл".
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
А, а то я уж подумал что тут функция с сайд эффектом
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Я просто не в теме за другие языки
источник

АЛ

Артем Лазаренко... in 1С, БСП, DevOps и Архитектура
между прочим по законам шариата за такой код будут судить
источник

VB

Vladimir Bondarevski... in 1С, БСП, DevOps и Архитектура
Функция СуммаСкидки(Знач КорзинаЗаказа)
   Если КорзинаЗаказа.Строки.Количество() > 10 Тогда
       Возврат Скидки.СкидкаНаКрупнуюКорзину(КорзинаЗаказа);
   ИначеЕсли КорзинаЗаказа.ЕстьКартаЛояльности Тогда
       Скидки.СкидкаПоКартеЛояльности(КорзинаЗаказа);
   КонецЕсли;


      Возврат Неопределено;
КонецФункции


Что поменялось?
источник

КЧ

Кирилл Черненко... in 1С, БСП, DevOps и Архитектура
Можно диагностику напилить, типа результат функции отправляется в /dev/null
источник

AO

Andrey Ovsiankin in 1С, БСП, DevOps и Архитектура
Появилась явная декларация намерений автора
источник

VB

Vladimir Bondarevski... in 1С, БСП, DevOps и Архитектура
Автор говнарь. Забыл где надо возврат или забыл поменять возвращаемое значение
источник

JD

John Doe in 1С, БСП, DevOps и Архитектура
Стало нагляднее что обратно может прилетать неопределено
источник

AS

Alexander Strizhachu... in 1С, БСП, DevOps и Архитектура
вместо суммы (число)
источник

AS

Alexander Strizhachu... in 1С, БСП, DevOps и Архитектура
говнокод
источник