После разработки проектов и задач на 1С, как и в других языках программирования, приходится сталкиваться с техническим долгом.
Что такое технический долг? Технический долг — это метафора программной инженерии, обозначающая накопленные в программном коде или архитектуре проблемы, связанные с пренебрежением к качеству при разработке программного обеспечения и вызывающие дополнительные затраты труда в будущем.
Причины возникновения могут быть разными:
- недостаточная компетентность кадров;
- давление со стороны бизнеса;
- плохо спроектированная архитектура и отсутствие документации;
- отсутствие процессов review и refactoring;
- отсутствует тестирование.
Основная причина, почему нужно управлять качеством кода — это увеличение стоимости сопровождения и разработки продукта в дальнейшем из-за технического долга.
Как управлять долгом?
Управлять техническим долгом можно с помощью нескольких подходов:
- Внешний аудит — привлечение сторонней компании. Затратно, и на результат может влиять человеческий фактор.
- Внутренний аудит — визуальная проверка кода (code review). Опять же на результат влияет человеческий фактор и иногда необъективность.
- Автоматизированная проверка кода — применяются статические анализаторы. В мире 1С используется конфигурация 1С:АПК.
- Непрерывная проверка кода (continuous code inspection).
На рынке существует как минимум два плагина для поддержки языка 1С в SonarQube, и одно из них это SONARQUBE 1C (BSL) Plugin — решение от SilverBulleters.
Серебряная пуля есть — 1C (BSL) Plugin для SonarQube, предназначенный для непрерывного анализа и измерения уровня качества кода 1С-решений:
- Повышение квалификации разработчиков (в том числе помогает в обучении стажеров).
- Контроль работы аутсоурсеров.
- Меньше ошибок — меньше затраты на владение системой.
- Оценка реального состояния системы в динамике (для менеджеров).