Качество кода в 1С

Систематизируем борьбу с техническим долгом с помощью SonarQube и Docker

Почему качество кода в 1С так важно?

Качество кода в 1С — тема вечная и часто недооцененная. Кривой код сложнее поддерживать, в нем чаще возникают ошибки, а ввод нового разработчика в проект превращается в пытку (как и добавление новых фич в таком коде).

Чтобы систематизировать борьбу с техническим долгом, мы у себя в CI/CD давно используем статический анализатор SonarQube. Это мощный инструмент, который помогает отлавливать ошибки, уязвимости и просто неудачные решения в коде до того, как они нанесут реальный ущерб.

Готовая сборка SonarQube для 1С в Docker

Старт за одну команду

Просто пишете docker-compose up -d в терминале, и через пару минут у вас работающий SonarQube. При условии, что у вас установлен docker.

Все нужные плагины включены

Уже установлены и настроены sonar-bsl-plugin-community для анализа 1С-кода и sonarqube-community-branch-plugin для анализа веток в Community-версии.

Русский язык из коробки

Интерфейс сразу переведен, что удобно для команды. Больше не нужно разбираться с языковыми настройками.

Зачем это вообще нужно?

Представьте, что мы строим дом и нам нужно срочно в него въехать.

Правильный путь: залить прочный фундамент, возвести ровные стены, грамотно проложить все коммуникации. Это долго и дорого, но дом будет стоять десятилетиями.

Быстрый путь: наспех залить фундамент, стены сделать из более дешевых материалов, а трубы кинуть по самому короткому маршруту, прямо поверх стен. Ты въедешь в дом гораздо быстрее! Но это решение имеет свою цену.

Технический долг — это и есть эта будущая цена за быстрое решение.

Через год у тебя просядет фундамент (программа начнет работать нестабильно). Дешевые стены начнут трескаться (появятся баги в самых неожиданных местах). А когда ты захочешь повесить новую полку, тебе придется штробить стену и аккуратно обходить ту самую трубу, проложенную наспех (добавление новых функций станет сложным и долгим).

Как начать использовать

1

Установите Docker

Установите Docker на свой компьютер или сервер. Убедитесь, что у вас не менее 6 ГБ свободной оперативной памяти.

2

Клонируйте репозиторий

Выполните команду: git clone https://github.com/Daabramov/Sonarqube-for-1c-docker.git

3

Запустите сервис

Перейдите в папку с проектом и выполните: docker-compose up -d

4

Откройте интерфейс

После запуска SonarQube будет доступен по адресу http://localhost:32772 с логином и паролем по умолчанию: admin:admin

docker-compose up -d

Как мы используем это на практике

Мы встроили SonarQube в наши CI/CD пайплайны в GitLab. Каждый push в репозиторий запускает автоматическую проверку кода. Это позволяет отловить потенциальные проблемы еще на этапе разработки, а не после релиза.

Вот пример шага запуска анализатора в нашем open-source проекте:

# Пример конфигурации в configuration.yml
#
#sonar-check:
# stage: Test
# script:
# - docker-compose up -d
# - sleep 60 # Ожидание запуска SonarQube
# - ./run-sonar-scanner.sh
# after_script:
# - docker-compose down
# artifacts:
# paths:
# - sonar-report/

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

Преимущества использования

Анализ качества кода

Обнаружение повторяющегося кода, сложных функций, дублирования логики и других антипаттернов.

Раннее обнаружение ошибок

Ловим баги на этапе разработки, а не после релиза, что значительно снижает затраты на исправление.

Ускорение онбординга

Новые разработчики быстро понимают стандарты кода и могут эффективно вносить изменения.

Готовы улучшить качество вашего кода в 1С?

Просто запустите готовую сборку SonarQube для 1С и начните анализировать свой код уже сегодня.

Перейти к репозиторию