bsl-language-server icon indicating copy to clipboard operation
bsl-language-server copied to clipboard

[NEW] Проверка на число строк вставки внутри расширенной процедуры с директивой "ИзменениеИКонтроль"

Open agibalovsa opened this issue 2 years ago • 1 comments

Описание проблемы, ошибки, которую надо диагностировать

Когда в расширение процедур с дерективой "ИзменениеиКонтроль" делают вставки кода с большим числом строк, особенно, если такие вставки частые, то код перестает быть читабельным. Становится не понятным, что хотели сделать в расширении. Какие цели преследовали. Возникает запутанность параметров. В случае выделения процедур получаем следующие преимущества:

  • Если строки кода помещать внутрь процедур, которые будут иметь поясняющее название и комментарии, то суть расширения процедур станет более ясной.
  • Также, такой подход позволит уменьшить число дублированых строк, когда расширение касается, например, однотипных печатных форм.
  • Также мы избавляемся от запутанности переменных. Такой подход нас заставляет использовать одну переменную-структуру, которую мы будем переность из "вставки" в "вставку". Внутри же процедур, логика переменных станет более очевидной.

В тех же случаях, когда код нельзя выделить в отдельный метод, например, добавлена часть цикла или условия, то проверку можно экранировать.

Ссылка на источник, подтверждающее нарушение либо обоснование наличия проблемы

Нет.

Параметры диагностики

Допустимое число строк - число строк, которое допустимо использовать в вставке, без помещения в метод.

Тип Статья на русском

  • [ ] :ant: Ошибка
  • [ ] :cop: Уязвимость
  • [ ] :guardsman: Потенциальная уязвимость
  • [x] :poop: Качество кода
  • [ ] :trollface: Другое

Важность Статья на русском

  • [ ] :broken_heart: Блокирующая / Blocker
  • [ ] :heart: Критическая / Critical
  • [x] :yellow_heart: Важная / Major
  • [ ] :blue_heart: Незначительная / Minor
  • [ ] :green_heart: Информационная / Info
  • [ ] :revolving_hearts: Другое

Тэги Статья на русском

  • [ ] STANDARD - "Нарушение стандартов 1С"
  • [ ] LOCKINOS - "Не будет работать в другой ОС"
  • [ ] SQL - "Проблема с запросом"
  • [ ] PERFORMANCE - "Проблема производительности"
  • [x] BRAINOVERLOAD - "Непонятный код"
  • [x] BADPRACTICE - "Плохая практика программирования"
  • [ ] CLUMSY - "Излишние действия"
  • [ ] DESIGN - "Ошибка в проектировании"
  • [ ] SUSPICIOUS - "Подозрительный код"
  • [ ] UNPREDICTABLE - "Непредсказуемо работающий код"
  • [ ] DEPRECATED - "Устаревшая функциональность"
  • [ ] ERROR - "Ошибочная конструкция"
  • [ ] LOCALIZE - "Проблемы локализации"

Время на исправление (минут)

15 минут

Дополнительная информация

Приведу пример, где видно, на сколько сильно снижается сложность.

  1. Код сплошняком image
  2. Код выделен в процедуры image

agibalovsa avatar Oct 21 '22 16:10 agibalovsa