Одинаковые выражения слева и справа от "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"
}