Перейти к содержанию

Перезапись параметров метода (RewriteMethodParameter)

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Дефект кода BSL
OS
Важный Да 2 suspicious

Описание диагностики

Иногда разработчик пишут функции таким образом, когда аргументы функции перезаписываются сразу на входе в функцию/процедуру.

Такое поведение вводит в заблуждение других разработчиков, которые вызывают подобные функции/процедуры. Эти функции нужно исправить. Например, убрать параметры, преобразовав их в локальные переменные.

Примеры

Подозрительный код

Процедура Конфигуратор(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "") Экспорт
  СтрокаПодключения = "/F""" + КаталогБазы + """"; // Здесь
...
КонецФункции

Исправленный код

Процедура Конфигуратор(Знач КаталогБазы, Знач Пользователь = "", Знач Пароль = "") Экспорт
  СтрокаПодключения = "/F""" + КаталогБазы + """"; // Здесь
...
КонецФункции
или
Процедура Конфигуратор(Знач КаталогБазы, Знач Пользователь = "", Знач Пароль = "") Экспорт
  Если Не ПустаяСтрока(КаталогБазы) Тогда
   НоваяСтрокаПодключения = "/F""" + КаталогБазы + """";
  Иначе
   НоваяСтрокаПодключения = СтрокаПодключения;
  КонецЕсли;
...
КонецФункции

Источники

Экранирование кода

// BSLLS:RewriteMethodParameter-off
// BSLLS:RewriteMethodParameter-on

Параметр конфигурационного файла

"RewriteMethodParameter": false