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

Двойные отрицания (DoubleNegatives)

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

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

Использование двойных отрицаний усложняет понимание кода и может приводить к ошибкам, когда вместо истины разработчик "в уме" вычислил Ложь, или наоборот. Двойные отрицания рекомендуется заменять на выражения условий, которые прямо выражают намерения автора.

Примеры

Неправильно

Если Не ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") <> Неопределено Тогда
    // Сделать действие
КонецЕсли;

Правильно

Если ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") = Неопределено Тогда
    // Сделать действие
КонецЕсли;

Источники

Сниппеты

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

// BSLLS:DoubleNegatives-off
// BSLLS:DoubleNegatives-on

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

"DoubleNegatives": false