v8-code-style
v8-code-style copied to clipboard
Проверка Отсутствует обязательная проверка признака ОбменДанными.Загрузка в обработчике события "ПередЗаписью" работает не всегда корректно.
Проверка Отсутствует обязательная проверка признака ОбменДанными.Загрузка в обработчике события "ПередЗаписью" (аналогично и другие события "ПриЗаписи", и т.п....) работает не всегда корректно.
Следующий код Перед записью будет признан ошибочным:
Процедура ПередЗаписью()
Если Не ОбменДанными.Загрузка Тогда
ОбработчикПередЗаписью();
КонецЕсли;
КонецПроцедуры
Если в обработчике используется ОбменДанными.Загрузка в любом из условий Если, считать, что проверка пройдена и ошибку не выдавать.
- OS: Windows
- Версия 1C:Code-Style-V8 0.1.0.119
- Версия 1C:EDT Ruby 2021.2.5
Я бы сказал, что код в таком стиле - это спагетти код (это же не нужно доказывать, что это плохой код?). Неплохо бы еще понимать зачем такой код писать?
Такой вот код - это тоже спагетти код - и тоже плохой паттерн. Хоть и проверка будет формально проходить.
Процедура ПередЗаписью()
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ОбработчикПередЗаписью();
КонецПроцедуры
Согласен, ни один из вариантов не отличается красотой. Возвраты то же не нравятся. Помещать код обработки в такое условие - совсем плохой вариант. С чем-то приходится мириться.