Известные мне инструменты проверки кода на соответствие стандартам разработки работают в режиме off-line, т.е. код помещается в базу/хранилище, после этого конфигурация выгружается в файлы и анализируется. А хотелось бы еще до помещения кода в хранилище проверять его на соответствие стандартам.
Возникла идея, сделать простой инструмент для онлайн-проверки, так чтобы вставил код, нажал на кнопку и сразу результат. В качестве платформы выбрана конфигурация 1С:Автоматизированная проверка конфигураций (АПК) . Если вы не знакомы с инструментом "Автоматизированная проверка конфигураций", то познакомиться и получить практику применения можно в отличной статье Владимира Литвиненко. АПК доступна, бесплатна, несомненный плюс еще в том, что есть возможность добавлять свои проверки. Механизм реализован в виде расширения, конфигурация остается неизменной.
Принцип работы простой: текстовое поле, в которое вставляется код, список выбираемых проверок (в АПК это реализовано в требованиях) в виде дерева, простые настройки - тип модуля (модуль формы, общий модуль и так далее) для общих модулей признаки клиент, сервер. Вставляем код, выбираем требования, тип модуля и получаем результат.
Для визуализации добавил раскраску кода (с ИТС) в результат проверки, поэтому он формируется в html-документе.
Ошибки привязываются к номерам строк, можно сразу перейти к описанию стандарта на ИТС или к нарушенному требованию/правилу.
Работает в как в обычном приложении, так и в управляемом (тонкий и web-клиент). Базу с расширение можно опубликовать, веб-интерфейс выглядит так себе (у конфигурации режим совместимости интерфейса "Версия 8.2"), но если изменить его на "Такси", то будет выглядеть более лучше. Как минус веб-клиента это криво работающая раскраска кода.
Версия 1.2.4.35. Обновление 23.10.2019
- Расширение доработано для работы на АПК версии 1.2.4.35.
- Добавлена простая навигация по ошибкам. Идею подсказал уважаемый pavlov_dv в комментариях.
- Из результата проверки ссылки на стандатры и правила перенесены в навигацию.
Версия 1.2.5.16. Обновление 23.07.2020
- Версия для работы на АПК версии 1.2.5.16. выложил в открытый доступ https://github.com/Bazil1c/acc-check-code. Расскраска кода заменена на более симпатичную, взята вот отсюда //infostart.ru/public/994455/. Но в новом варианте не работает переход по строкам.