bsl-language-server
bsl-language-server copied to clipboard
Ошибка формирования НСтр
Не должно быть нечто типо такого:
НСтр("ru = 'Ошибка при создании временного каталога'.")); // Тут лишняя точка, или она должны быть внутри НСТР
NStr("en = 'Not managed to connect lot server outgoing mail:'" + Chars.LF) // тут операция присваивания, которая должна быть за НСТР
Nstr("en = '<Attributes aren't set>'"); //тут одинарная кавычка внутри НСТР
NStr("en = Insufficient quantity transferred to %CounterpartyPresentation%'"); // Тут вообще нет кавычки одинарной, т.е. это не НСТР, как таковая.
NStr("ru = ''") // тут пустая строка
Nstr("en = '<Attributes aren''t set>'", "en"); //тут явно задан язык, так что нет смысла такие строки вообще переводить.
Параметры диагностики
Тип
- [x] :ant: Ошибка
- [ ] :cop: Уязвимость
- [ ] :poop: Качество кода
- [ ] :trollface: Другое
Важность
- [ ] :broken_heart: Блокирующая / Blocker
- [ ] :heart: Критическая / Critical
- [x] :yellow_heart: Важная / Major
- [ ] :blue_heart: Незначительная / Minor
- [ ] :green_heart: Информационная / Info
- [ ] :revolving_hearts: Другое
Тэги
- [x]
STANDARD- "Нарушение стандартов 1С" - [ ]
LOCKINOS- "Не будет работать в другой ОС" - [ ]
SQL- "Проблема с запросом" - [ ]
PERFORMANCE- "Проблема производительности" - [ ]
BRAINOVERLOAD- "Непонятный код" - [x]
BADPRACTICE- "Плохая практика программирования" - [ ]
CLUMSY- "Излишние действия" - [ ]
DESIGN- "Ошибка в проектировании" - [ ]
SUSPICIOUS- "Подозрительный код" - [ ]
UNPREDICTABLE- "Непредсказуемо работающий код" - [ ]
DEPRECATED- "Устаревшая функциональность" - [x]
ERROR- "Ошибочная конструкция"
Время на исправление (минут)
2
Дополнительная информация
Если надо - могу потом кинуть ошибки из типовых. Для тестов. Проверять тут можно некоторые вещи регулярками.
Заметка - парсер строк от НСтр уже написан.
А где почитать каким правилам он следует? Я в диагностике не обнаружил такого.
только в исходниках - https://github.com/1c-syntax/bsl-language-server/blob/develop/src/main/java/com/github/_1c_syntax/bsl/languageserver/utils/MultilingualStringAnalyser.java
Но я скорее про то, что анализатор НСтр не надо писать с нуля, он уже есть. надо его развивать.

очередной "веселый" баг, который только в рантайме часто можно только случайно поймать !
связанные ишью
- https://github.com/1c-syntax/bsl-language-server/issues/695
- https://github.com/1c-syntax/bsl-language-server/issues/365