bsl-language-server
bsl-language-server copied to clipboard
При вызове функций не следует пропускать обязательные параметры
Описание проблемы, ошибки, которую надо диагностировать
При вызове функций не следует пропускать обязательные параметры. В противном случае, в параметр будет передано значение Неопределено
, на которое функция может быть не рассчитана. Если же значение Неопределено
является допустимым, то нужно или его передавать в функцию явно, или сделать этот параметр необязательным со значением по умолчанию Неопределено
.
Например, для вызова процедуры
Процедура ПоменятьЦветПоляФормы(Форма, ИмяПоля, Цвет)
неправильно:
ПоменятьЦветПоляФормы(,"РезультатПроверки", ЦветаСтиля.ПоясняющийОшибкуТекст); // пропущен первый параметр Форма
ПоменятьЦветПоляФормы(,,); // пропущены все обязательные параметры
правильно:
ПоменятьЦветПоляФормы(ЭтотОбъект, "РезультатПроверки", Цвет); // указаны все обязательные параметры
Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы https://its.1c.ru/db/v8std#content:640:hdoc
Параметры диагностики
Тип (установите x у подходящего варианта)
- [x] Ошибка
- [ ] Уязвимость
- [ ] Качество кода
- [ ] Другое
Важность (установите x у подходящего варианта)
- [ ] Блокирующая / Blocker
- [ ] Критическая / Critical
- [x] Важная / Major
- [ ] Незначительная / Minor
- [ ] Информационная / Info
- [ ] Другое
Дубль #77. Ту прикрою т.к. здесь оформление лучше.
А как реализовать эту проверку без базы контекстов? Ее вроде нет пока в планах на этот релиз.
Можно для текущего модуля... Но вообще да, возможно стоит перенести в будущее
Давайте 50x50. Реализовать для текущего, остальное потом.