bsl-language-server icon indicating copy to clipboard operation
bsl-language-server copied to clipboard

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

Open zeegin opened this issue 5 years ago • 4 comments

Описание проблемы, ошибки, которую надо диагностировать

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

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

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

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

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

правильно:

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

Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы https://its.1c.ru/db/v8std#content:640:hdoc

Параметры диагностики

Тип (установите x у подходящего варианта)

  • [x] Ошибка
  • [ ] Уязвимость
  • [ ] Качество кода
  • [ ] Другое

Важность (установите x у подходящего варианта)

  • [ ] Блокирующая / Blocker
  • [ ] Критическая / Critical
  • [x] Важная / Major
  • [ ] Незначительная / Minor
  • [ ] Информационная / Info
  • [ ] Другое

zeegin avatar Oct 15 '19 08:10 zeegin

Дубль #77. Ту прикрою т.к. здесь оформление лучше.

asosnoviy avatar Oct 15 '19 08:10 asosnoviy

А как реализовать эту проверку без базы контекстов? Ее вроде нет пока в планах на этот релиз.

qtLex avatar Nov 28 '19 09:11 qtLex

Можно для текущего модуля... Но вообще да, возможно стоит перенести в будущее

nixel2007 avatar Nov 28 '19 09:11 nixel2007

Давайте 50x50. Реализовать для текущего, остальное потом.

asosnoviy avatar Nov 28 '19 13:11 asosnoviy