Систематизируем борьбу с техническим долгом с помощью SonarQube и Docker
Качество кода в 1С — тема вечная и часто недооцененная. Кривой код сложнее поддерживать, в нем чаще возникают ошибки, а ввод нового разработчика в проект превращается в пытку (как и добавление новых фич в таком коде).
Чтобы систематизировать борьбу с техническим долгом, мы у себя в CI/CD давно используем статический анализатор SonarQube. Это мощный инструмент, который помогает отлавливать ошибки, уязвимости и просто неудачные решения в коде до того, как они нанесут реальный ущерб.
Просто пишете docker-compose up -d в терминале, и через пару минут у вас работающий SonarQube. При условии, что у вас установлен docker.
Уже установлены и настроены sonar-bsl-plugin-community для анализа 1С-кода и sonarqube-community-branch-plugin для анализа веток в Community-версии.
Интерфейс сразу переведен, что удобно для команды. Больше не нужно разбираться с языковыми настройками.
Представьте, что мы строим дом и нам нужно срочно в него въехать.
Правильный путь: залить прочный фундамент, возвести ровные стены, грамотно проложить все коммуникации. Это долго и дорого, но дом будет стоять десятилетиями.
Быстрый путь: наспех залить фундамент, стены сделать из более дешевых материалов, а трубы кинуть по самому короткому маршруту, прямо поверх стен. Ты въедешь в дом гораздо быстрее! Но это решение имеет свою цену.
Технический долг — это и есть эта будущая цена за быстрое решение.
Через год у тебя просядет фундамент (программа начнет работать нестабильно). Дешевые стены начнут трескаться (появятся баги в самых неожиданных местах). А когда ты захочешь повесить новую полку, тебе придется штробить стену и аккуратно обходить ту самую трубу, проложенную наспех (добавление новых функций станет сложным и долгим).
Установите Docker на свой компьютер или сервер. Убедитесь, что у вас не менее 6 ГБ свободной оперативной памяти.
Выполните команду: git clone https://github.com/Daabramov/Sonarqube-for-1c-docker.git
Перейдите в папку с проектом и выполните: docker-compose up -d
После запуска SonarQube будет доступен по адресу http://localhost:32772 с логином и паролем по умолчанию: admin:admin
Мы встроили SonarQube в наши CI/CD пайплайны в GitLab. Каждый push в репозиторий запускает автоматическую проверку кода. Это позволяет отловить потенциальные проблемы еще на этапе разработки, а не после релиза.
Вот пример шага запуска анализатора в нашем open-source проекте:
Ценность этой Docker-сборки в сэкономленном времени. Вместо того чтобы вручную проходить все круги ада с настройкой, вы получаете готовый инструмент и можете сразу сосредоточиться на главном — на анализе своего кода.
Обнаружение повторяющегося кода, сложных функций, дублирования логики и других антипаттернов.
Ловим баги на этапе разработки, а не после релиза, что значительно снижает затраты на исправление.
Новые разработчики быстро понимают стандарты кода и могут эффективно вносить изменения.
Просто запустите готовую сборку SonarQube для 1С и начните анализировать свой код уже сегодня.
Перейти к репозиторию