Общие изменения
- Время анализа файлов сокращено от 2 до 9 раз.
- Существенно (от 2 до 5 раз) сокращен размер неотдаваемой оперативной памяти в режиме анализа.
- Существенно сокращен размер дистрибутива.
- Форматтер теперь обрезает незначимые символы справа в комментариях
- Добавлены диагностики:
- Использование устаревшего метода "Найти" (
DeprecatedFind
). - Недопустимый символ (
InvalidCharacterInFile
). - Отсутствует удаление временного файла после использования (
MissingTemporaryFileDeletion
). - Есть локализованный текст для всех заявленных в конфигурации языков (
MultilingualStringHasAllDeclaredLanguages
). - Есть локализованный текст для всех заявленных в конфигурации языков (
MultilingualStringHasAllDeclaredLanguages
). - Неэкспортные методы в областях ПрограммныйИнтерфейс и СлужебныйПрограммныйИнтерфейс (
NonExportMethodsInApiRegion
). - Таймауты при работе с внешними ресурсами (
TimeoutsInExternalResources
). - Унарный плюс в конкатенации строк (
UnaryPlusInConcatenation
). - Неиспользуемый локальный метод (
UnusedLocalMethod
). - Хранение ip-адресов в коде (
UsingHardcodeNetworkAddress
).
- Использование устаревшего метода "Найти" (
- Изменены следующие диагностики:
- Определение захардкоженных адресов вынесено из диагностики
UsingHardcodePath
вUsingHardcodeNetworkAddress
. - В сообщения диагностик
NumberOfParams
иNumberOfOptionalParams
добавлена информация о требуемом количестве параметров - Диагностика
LineLength
больше не срабатывает на последнюю длинную строку текста запроса. - Диагностика
CommentedCode
больше не срабатывает на описаниях методов.
- Определение захардкоженных адресов вынесено из диагностики
- Добавлен quick-fix (быстрое исправление) для диагностик:
- Закомментированный фрагмент кода (
CommentedCode
) - Одно выражение в одной строке (
OneStatementPerLine
)
- Закомментированный фрагмент кода (
- Частичная поддержка анализа метаданных конфигурации в форматах выгрузки конфигуратора и EDT.
- В конфигурацию BSL Language Server добавлено свойство
configurationRoot
для хранения пути к корню конфигурации. - В данные метрик добавлена информация о строках для покрытия тестами.
- Для диагностик добавлены тэги и требуемый режим совместимости конфигурации (где применимо).
- При анализе конфигураций по умолчанию не срабатывают диагностики, у которых режим совместимости конфигурации выше, чем режим совместимости анализируемой конфигурации.
- Репортер в GenericIssue теперь использует относительные пути файлов.
- Для ряда диагностик изменены названия на русском и английском языке.
- Названия методов в сообщениях диагностик теперь обернуты в кавычки.
- Исправлены ошибки:
- Исключение при использовании английского варианта игнорирования диагностик (
BSLLS-off
). - Отсутствие пересчета диагностик при сохранении файла.
- Ложное срабатывание диагностик
OneStatementPerLine
,EmptyStatements
,SemicolonPresence
при ошибке разбора - Ложное срабатывание диагностики
UsingHardcodeSecretInformation
при установке значения заголовка элементу формы с именем "Пароль" - Ложное срабатывание диагностики
UsingHardcodeSecretInformation
при установке паролю значения, состоящего только из символов звездочки (*
) - Ложное срабатывание диагностики
UnreachableCodeDiagnostic
при пустом выражении после возврата. - Ложное срабатывание диагностики
UsingHardcodePath
на сложных кодах классификаторов. - Ложное срабатывание диагностики
NestedConstructorsInStructureDeclaration
при использовании пустых конструкторов со скобками. - Ложное срабатывание диагностики
UsingSynchronousCalls
на серверном контексте формы - Ложное срабатывание диагностики
UsingObjectNotAvailableUnix
в некоторых условиях - Двойное срабатывание диагностики
UsingThisForm
. - Код языка диагностик не влиял на язык сообщений диагностик в режиме
analyze
- Неверное английское имя диагностики
MagicNumbers
. - Диагностики на корректность работы с транзакциями срабатывали не только на методы глобального контекста.
- Исключение при использовании английского варианта игнорирования диагностик (
- Обновленный дизайн сайта.
- Информация о диагностиках и репортерах перенесена на отдельные страницы.
- В документацию по диагностикам добавлены блоки по типу, важности, включенности по умолчанию, времени на исправление, тэгам и применимости диагностики.
Значимые внутренние изменения
- Дистрибутив теперь содержит английские версии описаний правил.
groupId
проекта изменен наcom.github.1c-syntax
.