Featured image of post 🏢 Размер XL: когда в проекте миллионы строк

🏢 Размер XL: когда в проекте миллионы строк

SonarQube тактично отмечает ERP с 14 миллионами строк как XL. Хотя, если посмотреть на размерную сетку, то Extra Large считаются все проекты с количеством строк свыше 500 тысяч.

🏢 Размер XL: когда в проекте миллионы строк

SonarQube тактично отмечает ERP с 14 миллионами строк как XL. Хотя, если посмотреть на размерную сетку, то Extra Large считаются все проекты с количеством строк свыше 500 тысяч.

🖨️ Обновления вендора

Конфигурации большие, изменений много. Зачем их обновлять, да еще и регулярно? Основная причина - давление регуляторов: постоянные изменения законодательства, обновления государственных и банковских сервисов, закрытие уязвимостей. Нужно сохранить накопленные изменения и не потерять совместимость.

🐌 Как происходит обновление

Типовая конфигурация: Обновить - Далее - Далее - Готово.
Измененная конфигурация: Обновить - Трехстороннее сравнение - Боль, слезы, страдания - Принятие и переписывание - Тестирование - Исправление - Возможно готово.
На что обращаем внимание:

  • Контролируем дважды измененные объекты.
  • Игнорируем объекты без наших изменений.
  • Проверяем работу объектов с нашими изменениями после обновления.

🧑‍🌾 Типовые проблемы

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

  • Изменения схем XML, макетов, форм и ролей.
  • Артефакты прошлых неудачных обновлений.
  • Отсутствует документация - не редкость.

🛠️ Предпринимаемые меры

Чтобы не распылять внимание и сконцентрироваться на объектах в зоне нашей ответственности, а также снизить количество дважды измененных объектов при сравнении-объединении конфигураций, мы придерживаемся следующих правил:

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

🎆 Эффект

  • Настройка поддержки может снизить количество замечаний статического анализатора в десятки раз. Остается только то, на что стоит обращать внимание.
  • Последующая работа с этими замечаниями позволяет с пристрастием рассмотреть изменения и выявить неочевидные уязвимости.
  • При сравнении и объединении меньше объектов требуют обработки, изменения в коде очевидны и понятны.

👌 Итог

Если вы только начинаете внедрение, смотрите в сторону расширений. ИзменениеИКонтроль делает жизнь проще.
Размер XL - это про простые и повторяемые правила. Фиксируем свои изменения, контролируем дважды измененные объекты, не трогаем остальное - это ответственность вендора. Обновление перестает быть разовым подвигом и становится рутиной.

Создано при помощи Hugo
Тема Stack, дизайн Jimmy