bsl-language-server
bsl-language-server copied to clipboard
[NEW] директива наСервере может быть заменена на наСервереБезКонтекста
Описание проблемы, ошибки, которую надо диагностировать
Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы
Параметры диагностики
Тип Статья на русском
- [ ] :ant: Ошибка
- [ ] :cop: Уязвимость
- [ ] :guardsman: Потенциальная уязвимость
- [ ] :poop: Качество кода
- [ ] :trollface: Другое
Важность Статья на русском
- [ ] :broken_heart: Блокирующая / Blocker
- [ ] :heart: Критическая / Critical
- [x] :yellow_heart: Важная / Major
- [ ] :blue_heart: Незначительная / Minor
- [ ] :green_heart: Информационная / Info
- [ ] :revolving_hearts: Другое
Тэги Статья на русском
- [ ]
STANDARD- "Нарушение стандартов 1С" - [ ]
LOCKINOS- "Не будет работать в другой ОС" - [ ]
SQL- "Проблема с запросом" - [x]
PERFORMANCE- "Проблема производительности" - [ ]
BRAINOVERLOAD- "Непонятный код" - [ ]
BADPRACTICE- "Плохая практика программирования" - [ ]
CLUMSY- "Излишние действия" - [ ]
DESIGN- "Ошибка в проектировании" - [ ]
SUSPICIOUS- "Подозрительный код" - [ ]
UNPREDICTABLE- "Непредсказуемо работающий код" - [ ]
DEPRECATED- "Устаревшая функциональность" - [ ]
ERROR- "Ошибочная конструкция" - [ ]
LOCALIZE- "Проблемы локализации"
Время на исправление (минут)
Дополнительная информация
А у модуля появился контекст, позволяющий понять, задействован или нет контекст формы?
@EvilBeaver не полностью. список реквизитов и элементов формы - есть. контекста формы - нет.
@nixel2007 а что есть "контекст формы", которого нет, как не "список реквизитов и элементов", который есть?
@EvilBeaver все, что прилетает "расширениями формы" + свойства самой формы. Например "Заголовок" - его нет в элементах, это просто свойство формы как объекта.
Хм... кажется, без "базы контекстов" от @bambr1975 и @awa15 не обойтись
@EvilBeaver оно в процессе насколько я понимаю. @otymko как успехи у тебя? пора подключаться?
@nixel2007 с доработкой этого проекта сейчас можно помочь -> https://github.com/otymko/bsl-context-collector. Если ты про bsl-context-paltform, то к нему я вернусь после 10го Мая.
К этому правилу хорошо бы добавить распознавание ситуаций, когда можно метод сделать безконтекстным, а необходимые реквизиты формы передавать как параметры метода.
На это можно попробовать натравить code action. В data у диагностики складывать данные для выноса в параметры метода, а в код экшене их разбирать и формировать рефакторинг.
Только пока в ядре нет способа сложить что-то в data у диагностики, но это дело одного нового хелпера в diagnosticStorage
Подходящий стандарт https://its.1c.ru/db/v8std/content/636/hdoc