mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2024-12-05 03:58:31 +02:00
15 KiB
15 KiB
1С:Стандарты разработки V8 - CHANGELOG - ИСТОРИЯ ИЗМЕНЕНИЙ
[TOC text bullet hierarchy]
0.2.0
- Выпуск бета-версии для 1C:EDT 2021.3
- Автоматические индексы описаний проверок в справке
Help -> Help contents -> 1C:Code style V8
Новые фичи
- Функциональные опции, добавляемые 1C:Code Style, собраны в одном месте для удобного включения/выключения - в помощнике создания нового проекта или в свойствах проекта.
- В автосортировке метаданных добавлен учет системы запрета редактирования объектов (правила поддержки)
- Контекстное включение строгой типизации в модулях: по проекту, по списку объектов 1С или по списку файлов/каталогов, из контекстного меню в редакторе модуля
Новые проверки
Метаданные
- Периодичность выполнения регламентного задания меньше одной минуты
- Общий модуль, для которого предусмотрен вызов сервера, должен именоваться с постфиксом "ВызовСервера"
- Общий модуль с повторно используемыми значениями должен именоваться с постфиксом "ПовтИсп"
- Клиентский общий модуль с повторно используемыми значениями должен именоваться с постфиксом "КлиентПовтИсп"
- Общий модуль ВызовСервера с повторно используемыми значениями должен именоваться с постфиксом "ВызовСервераПовтИсп"
Формы
Код модулей
- Использован метод "РольДоступна()"
- Программный вызов обработчика события формы
- Изменение категории проверки use-non-recommended-method на "стандарты разработки"
- Использование конструкции "Новый Цвет"
- Перенесены проверки документирующего комментария:
- Тип коллекций в документирующем комментарии содержит тип элемента коллекции
- Поле документирующего комментария использует объявление сложного типа вместо ссылки на тип
- Многострочное описание документирующего комментария оканчивается на точку
- Серкция возвращаемого значения документирующего комментария для экспортной функции
- Многострочное описание документирующего комментария содержит определение поля
- Поле документирующего комментария является корректным именем
- Поле документирующего комментария не имеет определения типа
- Многострочное описание документирующего комментария содержит определение параметра
- В секции параметров документирующего комментария пропущено определение параметра
- Документирующий комментарий содежрит секцию возвращаемого значения для процедуры
- Ссылка документирующего комментария на существующий объект
- Секция возвращаемого значения документирующего комментария содержит корректные типы
- Определение типа документирующего комментария
- Исправлен идентификатор проверки тип в строгой типизации:
doc-comment-field-type
->doc-comment-field-type-strict
- Ограничения на использование экспортных процедур и функций в модулях команд и форм
- Вызов "Заблокировать()" находится вне попытки
- Для проверок dynamic-access-method-not-found и property-return-type добавлена возможность исключения по типам (COM-Объекты)
- Проверка типов invocation-parameter-type-intersect проверяет типы элементов коллекций: Массив, Соотвествие, СписокЗначений
Запросы
Права ролей
Новые быстрые исправления (Quick-fix)
- Удаление аннотации строгой типизации из модуля
- Открытие панели документирующего комментария
- Удаление ключевого слова Экспорт для процедур или функций в модуле команды и в модуле формы
Исправленные ошибки
- Падение NPE в проверке ql-using-for-update, корректный учет зависимых проектов (обработки, расширения)
- Клиентский глобальный модуль: ошибочное предупреждение о некорректном типе
- Отключено создание модуля менеджера при создании перечисления
- Для проверки md-standard-attribute-synonym-empty исправлена регистрация и улучшена точность позиции ошибки
- Исправлен расчета типов возвращаемых значений функций с вызовом сервера
- Испрвление проверки типа локальной переменной в variable-value-type
- Проверка типов invocation-parameter-type-intersect при вызове метода, если существуют документирующие комментарии использует только декларированные типы
0.1.0
Выпуск бета-версии для 1C:EDT 2021.2
Новые фичи
- Автосортировка метаданных, сортировка объектов верхнего уровня по умолчанию, для подчиненных настраивается
- Выбор подходящего тип общего модуля из списка при создании нового
- Панель "Bsl Документирующий комментарий"
- Автоматическое создание структуры модуля
- Автоматическое включение строгой типизации модулей
Новые проверки
Метаданные
- Длина имени объекта метаданного должна быть меньше чем 80
- Приложение должно использовать управляемый режим блокировки данных
- Общий модуль имеет некорректный тип
- Глобальный общий модуль должен оканчиваться на суффикс Глобальный
- Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
- Клиентский общий модуль должен оканчиваться на суффикс Клиент
- Не заполнено ни представление объекта, ни представление списка
- У предопределенного регламентного задания не должно быть заполнено наименование
- У стандартного свойства 'Владелец' или 'Родитель' должен быть заполнен синоним
Формы
- В полях форм со списками выбора следует всегда устанавливать свойство РежимВыбораИзСписка в значение Истина.
- Путь к данным объекта формы ссылается на существующий объект в каждом сегменте пути
Код модулей
- Проверка конструктора структуры содержащего больше 3х ключей
- Выполнение запроса в цикле с учетом локальных вызовов в модуле
- Проверка ОбменДанными.Загрузка в обработчике события
- Система строгой типизации кода:
- Переменная имеет тип значения
- Параметр метода имеет тип
- Функция возвращает типизированное значение
- Утверждение меняет тип
- Типизация значений в конструкторе структуры
- Вызываемый тип пересекается с типом параметра
- Секция возвращаемого значения функции-конструктора данных
- Свойство объекта имеет тип возвращаемого значения
- Метод в объекте не найден
- Поле документирующего комментария имеет описание типа
- Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении
- Аннотация для метода написана канонически
- Используется аннотация &ИзменениеИКонтроль вместо &Вместо
- НСтр формат строкового литерала
- Использование булевного параметра обработчика события
- Метод содержит слишком много параметров
- Использование только дефис-минуса в документирующем комментарии
- Использование не рекомендуемых методов:
- ТекущаяДата
- Сообщить
- Область пустая
- Стандартная область структуры модуля верхнеуровневая
- Использование директив компиляции модуля формы
- Всегда использовать директивы компиляции в модуле формы
- Описание оповещения на серверную процедуру
- Метод или переменная доступны НаКлиенте
Запросы
- Временная таблица должна содержать индексы
- Ограничение максимальной длины числа в запросе
- Строковый литерал должен содержать CamelCase
- Соединение с подзапросом
- Использование конструкции "ДЛЯ ИЗМЕНЕНИЯ"
- Отбор виртуальной таблицы должен быть в параметрах
Права ролей
- Право роли содержит текст ограничения доступа (RLS)
- Установлено право "ИнтерактивноеУдаление"
- Установлено право "ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных"
- Установлено право "ИнтерактивноеУдалениеПредопределенныхДанных"
- Установлено право "ИнтерактивноеПометкаУдаленияПредопределенныхДанных"
- Установлено право "ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных"
- Право "Активные пользователи" на корень конфигурации установлено только у стандартной роли
- Право "Администрирование" на корень конфигурации установлено только у стандартной роли
- Право "Режим "Все функции"" на корень конфигурации установлено только у стандартной роли
- Право "Администрирование расширений конфигурации" на корень конфигурации установлено только у стандартной роли
- Право "Администрирование данных" на корень конфигурации установлено только у стандартной роли
- Право "Интерактивное открытие внешних обработок" на корень конфигурации установлено только у стандартной роли
- Право "Интерактивное открытие внешних отчетов" на корень конфигурации установлено только у стандартной роли
- Право "Вывод" на корень конфигурации установлено только у стандартной роли
- Право "Сохранение данных пользователя" на корень конфигурации установлено только у стандартной роли
- Право "Automation" на корень конфигурации установлено только у стандартной роли
- Право "Внешнее соединение" на корень конфигурации установлено только у стандартной роли
- Право "Толстый клиент" на корень конфигурации установлено только у стандартной роли
- Право "Тонкий клиент" на корень конфигурации установлено только у стандартной роли
- Право "Веб-клиент" на корень конфигурации установлено только у стандартной роли
- Право "Обновление конфигурации базы данных" на корень конфигурации установлено только у стандартной роли
- Право "Журнал регистрации" на корень конфигурации установлено только у стандартной роли