-
Notifications
You must be signed in to change notification settings - Fork 112
Closed
Labels
component/diagnosticsДоработка / создание диагностикиДоработка / создание диагностики
Milestone
Description
Описание проблемы, ошибки, которую надо диагностировать
Диагностика находит проблемные места с дублированием кода вставки\добавления значений в различные коллекции.
Подобное часто возникает из-за копипаста.
Подозрительный код
Коллекция = Новый Структура;
Коллекция.Вставить("Ключ1", 1);
Коллекция.Вставить("Ключ1", 2);
// выражения в одном блоке, но не подряд
Массив = Новый Массив;
Массив.Добавить(СтрокаТаблицы);
ДругойКод();
Массив.Добавить(СтрокаТаблицы);
Массив.Вставить(0, ДругаяСтрока);
Массив.Вставить(0, ДругаяСтрока);
Указанные дубли в большинстве случаев являются ошибкой, но иногда их наличие - это особенности алгоритма.
Например, вставка значений в начало массива или повторное добавление значения в массив не всегда является ошибкой..
Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы
Похожий ишуз
Параметры диагностики
Тип Статья на русском
- 🐜 Ошибка
- 👮 Уязвимость
- 💂♂️ Потенциальная уязвимость
- 💩 Качество кода
-
Другое
Важность Статья на русском
- 💔 Блокирующая / Blocker
- ❤️ Критическая / Critical
- 💛 Важная / Major
- 💙 Незначительная / Minor
- 💚 Информационная / Info
- 💞 Другое
Тэги Статья на русском
-
STANDARD
- "Нарушение стандартов 1С" -
LOCKINOS
- "Не будет работать в другой ОС" -
SQL
- "Проблема с запросом" -
PERFORMANCE
- "Проблема производительности" -
BRAINOVERLOAD
- "Непонятный код" -
BADPRACTICE
- "Плохая практика программирования" -
CLUMSY
- "Излишние действия" -
DESIGN
- "Ошибка в проектировании" -
SUSPICIOUS
- "Подозрительный код" -
UNPREDICTABLE
- "Непредсказуемо работающий код" -
DEPRECATED
- "Устаревшая функциональность" -
ERROR
- "Ошибочная конструкция" -
LOCALIZE
- "Проблемы локализации"
Время на исправление (минут)
1
Дополнительная информация
Нужно учесть:
- простые блоки кода, без переходов и условий, т.е. без Если, циклов, попыток и т.п.
- учесть, что строки могут идти не подряд друг за другом
- следующие методы объектов:
Вставить
с 2мя параметрами, если в 2х строках совпадает 1й параметрДобавить
с 1м параметром, если в 2х строках совпадает 1й параметр
- можно учесть наличие объектов - Соответствие, Структура, Массив, ТаблицаЗначений, Список и т.п.
- а можно и не учитывать, а ориентироваться только по наименованию вызовов методов объектов Вставить и Добавить
- подобное может дать больше полезных замечаний
Metadata
Metadata
Assignees
Labels
component/diagnosticsДоработка / создание диагностикиДоработка / создание диагностики