🏢 Размер XL: когда в проекте миллионы строк
SonarQube тактично отмечает ERP с 14 миллионами строк как XL. Хотя, если посмотреть на размерную сетку, то Extra Large считаются все проекты с количеством строк свыше 500 тысяч.
🖨️ Обновления вендора
Конфигурации большие, изменений много. Зачем их обновлять, да еще и регулярно? Основная причина - давление регуляторов: постоянные изменения законодательства, обновления государственных и банковских сервисов, закрытие уязвимостей. Нужно сохранить накопленные изменения и не потерять совместимость.
🐌 Как происходит обновление
Типовая конфигурация: Обновить - Далее - Далее - Готово.
Измененная конфигурация: Обновить - Трехстороннее сравнение - Боль, слезы, страдания - Принятие и переписывание - Тестирование - Исправление - Возможно готово.
На что обращаем внимание:
- Контролируем дважды измененные объекты.
- Игнорируем объекты без наших изменений.
- Проверяем работу объектов с нашими изменениями после обновления.
🧑🌾 Типовые проблемы
Не все доработки реализуются с расчетом на последующую поддержку. Если на этапе внедрения команда эксплуатации не достигла уровня зрелости для контроля изменений, сложность обновлений возрастает. Наиболее распространены следующие проблемы:
- Изменения схем XML, макетов, форм и ролей.
- Артефакты прошлых неудачных обновлений.
- Отсутствует документация - не редкость.
🛠️ Предпринимаемые меры
Чтобы не распылять внимание и сконцентрироваться на объектах в зоне нашей ответственности, а также снизить количество дважды измененных объектов при сравнении-объединении конфигураций, мы придерживаемся следующих правил:
- Настройка поддержки: объекты поставщика без изменений на замок. При объединении конфигураций они гарантированно обновятся, а Сонар проигнорирует их при анализе.
- Переносим изменения в код. Контролировать изменение кода проще, чем интерактивные изменения форм.
- Использование переопределяемых модулей. Эти модули специально созданы для корректировки функционала и изменяются гораздо реже.
🎆 Эффект
- Настройка поддержки может снизить количество замечаний статического анализатора в десятки раз. Остается только то, на что стоит обращать внимание.
- Последующая работа с этими замечаниями позволяет с пристрастием рассмотреть изменения и выявить неочевидные уязвимости.
- При сравнении и объединении меньше объектов требуют обработки, изменения в коде очевидны и понятны.
👌 Итог
Если вы только начинаете внедрение, смотрите в сторону расширений. ИзменениеИКонтроль делает жизнь проще.
Размер XL - это про простые и повторяемые правила. Фиксируем свои изменения, контролируем дважды измененные объекты, не трогаем остальное - это ответственность вендора. Обновление перестает быть разовым подвигом и становится рутиной.
