1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2024-12-05 03:58:31 +02:00
v8-code-style/CHANGELOG.md
Dmitriy Marmyshev 571e16bd46
Merge pull request #938 from 1C-Company/feature/818-enable-strict-types
#818 Команда включения строгой типизации
2022-02-04 15:57:33 +03:00

12 KiB

1С:Стандарты разработки V8 - CHANGELOG - ИСТОРИЯ ИЗМЕНЕНИЙ

[TOC text bullet hierarchy]

0.2.0

Выпуск бета-версии для 1C:EDT 2021.3

Новые фичи

  • Функциональные опции, добавляемые 1C:Code Style, собраны в одном месте для удобного включения/выключения - в помощнике создания нового проекта или в свойствах проекта.
  • В автосортировке метаданных добавлен учет системы запрета редактирования объектов (правила поддержки)
  • Контекстное включение строгой типизации в модулях: по проекту, по списку объектов 1С или по списку файлов/каталогов, из контекстного меню в редакторе модуля

Новые проверки

Метаданные

  • Периодичность выполнения регламентного задания меньше одной минуты
  • Общий модуль, для которого предусмотрен вызов сервера, должен именоваться с постфиксом "ВызовСервера"
  • Общий модуль с повторно используемыми значениями должен именоваться с постфиксом "ПовтИсп"
  • Клиентский общий модуль с повторно используемыми значениями должен именоваться с постфиксом "КлиентПовтИсп"
  • Общий модуль ВызовСервера с повторно используемыми значениями должен именоваться с постфиксом "ВызовСервераПовтИсп"

Формы

Код модулей

  • Использован метод "РольДоступна()"
  • Программный вызов обработчика события формы
  • Изменение категории проверки use-non-recommended-method на "стандарты разработки"
  • Использование конструкции "Новый Цвет"

Запросы

Права ролей

Исправленные ошибки

  • Падение NPE в проверке ql-using-for-update, корректный учет зависимых проектов (обработки, расширения)
  • Клиентский глобальный модуль: ошибочное предупреждение о некорректном типе
  • Отключено создание модуля менеджера при создании перечисления
  • Для проверки md-standard-attribute-synonym-empty исправлена регистрация и улучшена точность позиции ошибки

0.1.0

Выпуск бета-версии для 1C:EDT 2021.2

Новые фичи

  • Автосортировка метаданных, сортировка объектов верхнего уровня по умолчанию, для подчиненных настраивается
  • Выбор подходящего тип общего модуля из списка при создании нового
  • Панель "Bsl Документирующий комментарий"
  • Автоматическое создание структуры модуля
  • Автоматическое включение строгой типизации модулей

Новые проверки

Метаданные

  • Длина имени объекта метаданного должна быть меньше чем 80
  • Приложение должно использовать управляемый режим блокировки данных
  • Общий модуль имеет некорректный тип
  • Глобальный общий модуль должен оканчиваться на суффикс Глобальный
  • Клиент-серверный общий модуль должен оканчиваться на суффикс КлиентСервер
  • Клиентский общий модуль должен оканчиваться на суффикс Клиент
  • Не заполнено ни представление объекта, ни представление списка
  • У предопределенного регламентного задания не должно быть заполнено наименование
  • У стандартного свойства 'Владелец' или 'Родитель' должен быть заполнен синоним

Формы

  • В полях форм со списками выбора следует всегда устанавливать свойство РежимВыбораИзСписка в значение Истина.
  • Путь к данным объекта формы ссылается на существующий объект в каждом сегменте пути

Код модулей

  • Проверка конструктора структуры содержащего больше 3х ключей
  • Выполнение запроса в цикле с учетом локальных вызовов в модуле
  • Проверка ОбменДанными.Загрузка в обработчике события
  • Система строгой типизации кода:
    • Переменная имеет тип значения
    • Параметр метода имеет тип
    • Функция возвращает типизированное значение
    • Утверждение меняет тип
    • Типизация значений в конструкторе структуры
    • Вызываемый тип пересекается с типом параметра
    • Секция возвращаемого значения функции-конструктора данных
    • Свойство объекта имеет тип возвращаемого значения
    • Метод в объекте не найден
    • Поле документирующего комментария имеет описание типа
  • Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении
  • Аннотация для метода написана канонически
  • Используется аннотация &ИзменениеИКонтроль вместо &Вместо
  • НСтр формат строкового литерала
  • Использование булевного параметра обработчика события
  • Метод содержит слишком много параметров
  • Использование только дефис-минуса в документирующем комментарии
  • Использование не рекомендуемых методов:
    • ТекущаяДата
    • Сообщить
  • Область пустая
  • Стандартная область структуры модуля верхнеуровневая
  • Использование директив компиляции модуля формы
  • Всегда использовать директивы компиляции в модуле формы
  • Описание оповещения на серверную процедуру
  • Метод или переменная доступны НаКлиенте

Запросы

  • Временная таблица должна содержать индексы
  • Ограничение максимальной длины числа в запросе
  • Строковый литерал должен содержать CamelCase
  • Соединение с подзапросом
  • Использование конструкции "ДЛЯ ИЗМЕНЕНИЯ"
  • Отбор виртуальной таблицы должен быть в параметрах

Права ролей

  • Право роли содержит текст ограничения доступа (RLS)
  • Установлено право "ИнтерактивноеУдаление"
  • Установлено право "ИнтерактивноеУдалениеПомеченныхПредопределенныхДанных"
  • Установлено право "ИнтерактивноеУдалениеПредопределенныхДанных"
  • Установлено право "ИнтерактивноеПометкаУдаленияПредопределенныхДанных"
  • Установлено право "ИнтерактивноеСнятиеПометкиУдаленияПредопределенныхДанных"
  • Право "Активные пользователи" на корень конфигурации установлено только у стандартной роли
  • Право "Администрирование" на корень конфигурации установлено только у стандартной роли
  • Право "Режим "Все функции"" на корень конфигурации установлено только у стандартной роли
  • Право "Администрирование расширений конфигурации" на корень конфигурации установлено только у стандартной роли
  • Право "Администрирование данных" на корень конфигурации установлено только у стандартной роли
  • Право "Интерактивное открытие внешних обработок" на корень конфигурации установлено только у стандартной роли
  • Право "Интерактивное открытие внешних отчетов" на корень конфигурации установлено только у стандартной роли
  • Право "Вывод" на корень конфигурации установлено только у стандартной роли
  • Право "Сохранение данных пользователя" на корень конфигурации установлено только у стандартной роли
  • Право "Automation" на корень конфигурации установлено только у стандартной роли
  • Право "Внешнее соединение" на корень конфигурации установлено только у стандартной роли
  • Право "Толстый клиент" на корень конфигурации установлено только у стандартной роли
  • Право "Тонкий клиент" на корень конфигурации установлено только у стандартной роли
  • Право "Веб-клиент" на корень конфигурации установлено только у стандартной роли
  • Право "Обновление конфигурации базы данных" на корень конфигурации установлено только у стандартной роли
  • Право "Журнал регистрации" на корень конфигурации установлено только у стандартной роли