Правило. Проверка наименование переменных на разных уровнях видимости

Добрый день. Только что столкнулся с ошибкой и потратил пару минут на решение.
Модуль объекта.
Название переменной модуля и переменной функции совпадало. Естественно в функции не было объявления переменной. В итоге была испорчена переменная модуля.
Особенно страшно это для обычных форм.

Есть ли правило в Sonar, чтобы такое отлавливать?

2 Симпатий

пример кода моешь скинуть, я с текста не понял. насколько я помню да - может. Но я хотел бы проверить точно.

Упрощенно так.

Перем Маркеры Экспорт;

Функция ПрочитатьМаркерыИзФайла(ИмяФайла) Экспорт
Маркеры = Новый ТабличныйДокумент;
Возврат Маркеры;
КонецФункции;

Ага, сам с подобным столкнулся.
Я только что создал тему

https://xdd.silverbulleters.org/t/obsudit-pravila-po-nevernoj-iniczializaczii-globalnyh-peremennyh-i-rekvizitov-formy/2534/2

@KrapivinAndrey а

А как отличить твой код от нормального кода инициализации глобальной переменной?
я пока простого пути не вижу :frowning:

Понимаю что никак. Но я бы предпочел в этом месте получить ложно-позитивное срабатывание, чем разбираться с багами далеко не очевидными.

Я понимаю что глобальные переменные зло. Но в данном случае, в переменной кэш хранился.

Соглашусь, что ложно-позитивное срабатывание для глобальных переменных не так страшно.
Множества их инициализаций все равно не будет.