Подозрительное использование &ИзменениеИКонтроль (SuspiciousChangeAndValidate)¶
| Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
|---|---|---|---|---|---|
Дефект кода |
BSL |
Важный |
Да |
5 |
badpracticesuspicious |
Описание диагностики¶
Метод, помеченный аннотацией &ИзменениеИКонтроль, содержит одновременно директивы #Удаление / #КонецУдаления и #Вставка / #КонецВставки. Такая комбинация означает полную замену тела метода, что скрывает реальные изменения от ревьюера.
Аннотация &ИзменениеИКонтроль предназначена для точечных правок. Для полной замены метода используйте &Вместо.
Примеры¶
Неправильно¶
&ИзменениеИКонтроль("МетодИзКонфигурации")
Процедура префМетодИзКонфигурации()
#Удаление
старый код
#КонецУдаления
#Вставка
новый код
#КонецВставки
КонецПроцедуры
Правильно¶
// Точечные изменения
&ИзменениеИКонтроль("МетодИзКонфигурации")
Процедура префМетодИзКонфигурации()
... // оригинальный код
#Удаление
проблемная строка
#КонецУдаления
#Вставка
исправленная строка
#КонецВставки
... // остальной код
КонецПроцедуры
// Или полная замена через &Вместо
&Вместо("МетодИзКонфигурации")
Процедура префМетодИзКонфигурации()
новый код
КонецПроцедуры
Сниппеты¶
Экранирование кода¶
// BSLLS:SuspiciousChangeAndValidate-off
// BSLLS:SuspiciousChangeAndValidate-on
Параметр конфигурационного файла¶
"SuspiciousChangeAndValidate": false