Код-ревью Middle Расширения, БСП и типовые обновлено

Ревью кода расширения

Вопрос

Разработчик сделал расширение для типового документа. Найдите проблемы.

&Вместо("ОбработкаПроведения")
Процедура Расш1_ОбработкаПроведения(Отказ, РежимПроведения)
	// Скопирован весь текст типовой процедуры (400 строк) с правкой одной строки
	Движения.ТоварыНаСкладах.Записывать = Истина;
КонецПроцедуры

&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Сообщить("Документ записан");
	УстановитьПривилегированныйРежим(Истина);
КонецПроцедуры

Коротко

Правило для расширений: минимальное вмешательство в типовой код, правильный выбор аннотации и та же культура кода, что и в основной конфигурации, включая проверки ОбменДанными.Загрузка и аккуратность с привилегированным режимом.

Что должен найти ревьюер

  1. Ошибкастрока 1
    &Вместо с копией 400 строк типового кода: после обновления типовой расширение будет молча выполнять старую логику. Для правки одной строки нужен &ИзменениеИКонтроль.
  2. Стильстрока 3
    Копирование большого куска типового кода увеличивает стоимость каждого обновления.
  3. Ошибкастрока 9
    Сообщение «Документ записан» в ПередЗаписью ложное: запись ещё не произошла и может быть отменена. Да и не пропущен ли случай ОбменДанными.Загрузка.
  4. Безопасностьстрока 10
    Привилегированный режим включается без нужды и не выключается: дальнейший код выполнится без проверки прав.

Разбор

Правило для расширений: минимальное вмешательство в типовой код, правильный выбор аннотации и та же культура кода, что и в основной конфигурации, включая проверки ОбменДанными.Загрузка и аккуратность с привилегированным режимом.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.