Сегодня я кратко расскажу о СА для 1С, разработанных самой 1С или при её поддержке. С этими СА мне удалось поработать и заглянуть в исходный код, где это возможно.
Примечание: Все анализаторы, кроме встроенного в конфигуратор, при анализе работают с выгрузкой конфигурации в файлы. Это когда у вас в структуре папок в виде отдельных файлов лежат все модули, формы, макеты и т.д.
✅ Встроенная в платформу проверка конфигурации. Проверяет логическую целостность, некорректные ссылки в конфигурации, синтаксис и т.п. Можно запускать как локально в конфигураторе, так и в командной строке в составе конвейеров. С использования и автоматизации этого механизма нужно начинать в первую очередь. Эти проверки в полной мере не заменит ни один другой анализатор.
✅ 1С:АПК - исторически первый СА, реализован в виде конфигурации для 1С. Я его дорабатывал для своих проектов и если я правильно помню, проверки реализованы разбором текста, без построения синтаксического дерева (поправьте меня, если я не прав). В нем реализован каталог проверок в соответствии с ССиМ и это его большой плюс. АПК уже какое то время не развивается, уступив место проверкам в EDT.
✅ 1С:Стандарты разработки V8 - плагин, встроенный в EDT. Код всех проверок доступен на GitHub. Это – идейное продолжение АПК, развивается и поддерживается. Те проверки, код которых я видел были реализованы на анализе синтаксического дерева с построенной поверх него абстракцией. То есть, продукт основательный и продуманный, код проверок субъективно лучше чем в плагинах для сонара (о них в следующий раз). Если бы передо мной стояла задача статического контроля качества кода на проекте, я бы вторым после платформенной проверки включил в конвейер анализ этим плагином.
Пост получился длинным, поэтому о сторонних разработках (не 1С) – плагинах для SonarQube – с которыми я также работал, будет следующий пост.
@yellow_pad | #1С #СтатическийАнализ #CI #SonarQube