bsl-language-server
bsl-language-server copied to clipboard
[MOD] Двойные отрицания (DoubleNegatives)
Подскажите, а такой код считается нормой или его обработку можно включить в эту диагностику?
Неправильно
Если Не ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") = Неопределено Тогда
// Сделать действие
КонецЕсли;
Правильно
Если ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") <> Неопределено Тогда
// Сделать действие
КонецЕсли;
Неправильно
Если Не (ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") = Неопределено
Или СтранаРегистрацииОрганизации <> Справочник.СтраныМира.Россия) Тогда
// Сделать действие
КонецЕсли;
Правильно
Если ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") <> Неопределено
И СтранаРегистрацииОрганизации = Справочник.СтраныМира.Россия) Тогда
// Сделать действие
КонецЕсли;
Неправильно
Если Не (ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") = Неопределено
И СтранаРегистрацииОрганизации = Справочник.СтраныМира.Россия) Тогда
// Сделать действие
КонецЕсли;
Правильно
Если ТаблицаЗначений.Найти(ИскомоеЗначение, "Колонка") <> Неопределено
Или СтранаРегистрацииОрганизации <> Справочник.СтраныМира.Россия) Тогда
// Сделать действие
КонецЕсли;
А еще диагностика не работает в запросах.
Нет, конструкция НЕ А = Б не является двойным отрицанием. Это одинарное отрицание равенства.
Если есть желание в диагностике, то стоит формить на нее запрос.
Что касается того, что диагностика двойных отрицаний не анализирует запросы - да, стоит ишузу на доработку написать