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

Одинаковые выражения слева и справа от "foo" оператора (IdenticalExpressions)

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

Параметры

Имя Тип Описание Значение
по умолчанию
popularDivisors Строка Существуют популярные операции деления на константы, например, 60 или 1024 для масштабирования значений времени и/или байтов. Укажите через запятую числа, которые не нужно считать ошибкой повтора операнда в операции деления. 60, 1024

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

Если в тексте программы имеется оператор (<, >, <=, >=, =, <>, И, ИЛИ, -, /), слева и справа от которого расположены одинаковые подвыражения фрагмент кода, который, скорее всего, содержит логическую ошибку.

Примеры

Если Сумма <> 0 И Сумма <> 0 Тогда

    // Тут код

КонецЕсли;

Здесь оператор И окружен одинаковыми выражениями Сумма <> 0, что наталкивает на мысли об ошибке по невнимательности при копировании. Правильное выражение будет выглядеть так:

Если Сумма <> 0 И СуммаНДС <> 0 Тогда

    // Тут код

КонецЕсли;

ИЛИ

Если Сумма <> 0 Тогда

    // Тут код

КонецЕсли;

Сниппеты

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

// BSLLS:IdenticalExpressions-off
// BSLLS:IdenticalExpressions-on

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

"IdenticalExpressions": {
    "popularDivisors": "60, 1024"
}