Перезапись параметров метода (RewriteMethodParameter)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Дефект кода |
BSL OS |
Важный |
Да |
2 |
suspicious |
Описание диагностики¶
Иногда разработчик пишут функции таким образом, когда аргументы функции перезаписываются сразу на входе в функцию/процедуру.
Такое поведение вводит в заблуждение других разработчиков, которые вызывают подобные функции/процедуры. Эти функции нужно исправить. Например, убрать параметры, преобразовав их в локальные переменные.
Примеры¶
Подозрительный код
Процедура Конфигуратор(Знач СтрокаПодключения, Знач Пользователь = "", Знач Пароль = "") Экспорт
СтрокаПодключения = "/F""" + КаталогБазы + """"; // Здесь
...
КонецФункции
Исправленный код
Процедура Конфигуратор(Знач КаталогБазы, Знач Пользователь = "", Знач Пароль = "") Экспорт
СтрокаПодключения = "/F""" + КаталогБазы + """"; // Здесь
...
КонецФункции
Процедура Конфигуратор(Знач КаталогБазы, Знач Пользователь = "", Знач Пароль = "") Экспорт
Если Не ПустаяСтрока(КаталогБазы) Тогда
НоваяСтрокаПодключения = "/F""" + КаталогБазы + """";
Иначе
НоваяСтрокаПодключения = СтрокаПодключения;
КонецЕсли;
...
КонецФункции
Источники¶
Экранирование кода¶
// BSLLS:RewriteMethodParameter-off
// BSLLS:RewriteMethodParameter-on
Параметр конфигурационного файла¶
"RewriteMethodParameter": false