Новое правило "При вызове функций не следует пропускать обязательные параметры"

sonar-bsl-plugin

#1

Есть такой стандарт https://its.1c.ru/db/v8std#content:2149184289:hdoc

УРА!

7. При вызове функций не следует пропускать обязательные параметры.

В противном случае, в параметр будет передано значение Неопределено, на которое функция может быть не рассчитана.

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

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

Например, для вызова процедуры

Процедура ПоменятьЦветПоляФормы(Форма, ИмяПоля, Цвет)

неправильно:

ПоменятьЦветПоляФормы(,"РезультатПроверки", ЦветаСтиля.ПоясняющийОшибкуТекст); // пропущен первый параметр Форма
ПоменятьЦветПоляФормы(,,); // пропущены все обязательные параметры

правильно:

ПоменятьЦветПоляФормы(ЭтотОбъект, "РезультатПроверки", Цвет); // указаны все обязательные параметры

SonarQube 1C (BSL) - Выпуск релиза 1.13
#2

Скриншоты срабатывания на типовых


#3

1С не так давно добавила подобный стандарт.