mirror of
https://github.com/1C-Company/v8-code-style.git
synced 2024-12-05 03:58:31 +02:00
eb191b57ba
#409 Проверка отсутствия удаления временного файла после использования.
208 lines
17 KiB
Markdown
208 lines
17 KiB
Markdown
# 1С:Стандарты разработки V8 - CHANGELOG - ИСТОРИЯ ИЗМЕНЕНИЙ
|
|
|
|
[TOC text bullet hierarchy]
|
|
|
|
## 0.3.0
|
|
|
|
|
|
### Новые фичи
|
|
|
|
|
|
|
|
### Новые проверки
|
|
|
|
|
|
|
|
#### Метаданные
|
|
- Длина синонима раздела верхнего уровня, отображаемого в интерфейсе, не должна превышать 35 символов
|
|
- Небезопасное хранение паролей в информационной базе
|
|
|
|
#### Формы
|
|
- У реквизита "Ссылка" динамического списка выключен признак "Использовать всегда"
|
|
- У поля "Ссылка" таблицы динамического списка не отключена пользовательская видимость
|
|
|
|
|
|
#### Код модулей
|
|
- Избыточное обращение внутри модуля через его имя или псевдоним ЭтотОбъект (к методу, свойству или реквизиту)
|
|
- Отсутствует удаление временного файла после использования.
|
|
|
|
#### Запросы
|
|
|
|
|
|
|
|
#### Права ролей
|
|
|
|
|
|
|
|
### Новые быстрые исправления (Quick-fix)
|
|
|
|
|
|
|
|
### Исправленные ошибки
|
|
|
|
- Ложное срабатывание проверки: invocation-parameter-type-intersect для Списка значений
|
|
- Ложное срабатывание проверки: invocation-parameter-type-intersect - для методов с несколькими вариантами вызова
|
|
- Ложное срабатывание проверки: doc-comment-ref-link Учет точки в конце ссылки на метод
|
|
|
|
## 0.2.0
|
|
|
|
- Выпуск бета-версии для 1C:EDT 2021.3
|
|
- Автоматические индексы описаний проверок в справке `Help -> Help contents -> 1C:Code style V8`
|
|
|
|
### Новые фичи
|
|
|
|
- Функциональные опции, добавляемые 1C:Code Style, собраны в одном месте для удобного включения/выключения - в помощнике создания нового проекта или в свойствах проекта.
|
|
- В автосортировке метаданных добавлен учет системы запрета редактирования объектов (правила поддержки)
|
|
- Контекстное включение строгой типизации в модулях: по проекту, по списку объектов 1С или по списку файлов/каталогов, из контекстного меню в редакторе модуля
|
|
|
|
### Новые проверки
|
|
|
|
#### Метаданные
|
|
|
|
- Периодичность выполнения регламентного задания меньше одной минуты
|
|
- Общий модуль, для которого предусмотрен вызов сервера, должен именоваться с постфиксом "ВызовСервера"
|
|
- Общий модуль с повторно используемыми значениями должен именоваться с постфиксом "ПовтИсп"
|
|
- Клиентский общий модуль с повторно используемыми значениями должен именоваться с постфиксом "КлиентПовтИсп"
|
|
- Общий модуль ВызовСервера с повторно используемыми значениями должен именоваться с постфиксом "ВызовСервераПовтИсп"
|
|
|
|
#### Код модулей
|
|
|
|
- Использован метод "РольДоступна()"
|
|
- Программный вызов обработчика события формы
|
|
- Изменение категории проверки use-non-recommended-method на "стандарты разработки"
|
|
- Использование конструкции "Новый Цвет"
|
|
- Перенесены проверки документирующего комментария:
|
|
1. Тип коллекций в документирующем комментарии содержит тип элемента коллекции
|
|
2. Поле документирующего комментария использует объявление сложного типа вместо ссылки на тип
|
|
3. Многострочное описание документирующего комментария оканчивается на точку
|
|
4. Серкция возвращаемого значения документирующего комментария для экспортной функции
|
|
5. Многострочное описание документирующего комментария содержит определение поля
|
|
6. Поле документирующего комментария является корректным именем
|
|
7. Поле документирующего комментария не имеет определения типа
|
|
8. Многострочное описание документирующего комментария содержит определение параметра
|
|
9. В секции параметров документирующего комментария пропущено определение параметра
|
|
10. Документирующий комментарий содежрит секцию возвращаемого значения для процедуры
|
|
11. Ссылка документирующего комментария на существующий объект
|
|
12. Секция возвращаемого значения документирующего комментария содержит корректные типы
|
|
13. Определение типа документирующего комментария
|
|
14. Активирована ранее отключенная проверка: Секция возвращаемого значения функции-конструктора данных
|
|
- Исправлен идентификатор проверки тип в строгой типизации: `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" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Внешнее соединение" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Толстый клиент" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Тонкий клиент" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Веб-клиент" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Обновление конфигурации базы данных" на корень конфигурации установлено только у стандартной роли
|
|
- Право "Журнал регистрации" на корень конфигурации установлено только у стандартной роли
|