Этот парадокс встречается сплошь и рядом: 1С-ники автоматизируют чужие процессы, но почти не трогают собственную рутину в разработке. Хотя в автоматизации мы неплохо разбираемся. Почему так?
🔻 Сила привычки. Непонятно, что именно менять в своем рабочем процессе. Да и зачем, ведь «и так все работает». Прямо как у тех, кого мы автоматизируем. 😊
🔻 Порог вхождения довольно высок. Даже если возникают идеи по автоматизации, кажется, что реализовать их слишком сложно. Обработка кода — это парсеры, абстрактные синтаксические деревья, и много чего еще, далекого от типичных задач 1С-ника. На чистом 1С инструментария для подобных задач не так много, надо идти в другие стеки.
🔻 Нет внешней мотивации. Программисту не платят за упрощение его же работы. Тогда зачем тратить кучу времени на автоматизацию того, что быстрее сделать руками (или можно вообще не делать).
Перейду к главному. Решил выложить свой инструмент — «Оформлятор модулей 1С». Что умеет?
1. Автоматически расставляет стандартные области ОбработчикиСобытий, СлужебныеПроцедурыИФункции и т.д. Можно сформировать структуру модуля вручную — для этого есть простой интерфейс.
2. Генерирует комментарии к методам с помощью ИИ
Останется лишь поправить, если что-то не так.
3. Извлекает из кода полезную информацию
Например, графы вызовов, обращения к полям и т.д.
Главная идея — это готовый инструмент для работы с кодом как с данными, разработанный на чистом 1С. Его можно брать за основу в своих задачах по обработке кода. Там есть парсинг в абстрактное синтаксическое дерево (если нужен глубокий анализ). Но можно разобрать код в структуру попроще, обработать ее и снова собрать программный код (с учетом ваших регламентов).
Основное назначение «Оформлятора» — форматтер. Но мне его функционал необходим и, например, в задачах статического анализа:
🔹 при переносе кода с зависимостями между разными конфигурациями;
🔹 при поиске «битых» вызовов в доработанном функционале после обновления конфигурации.
Когда появляется универсальный инструмент, сферы применения находятся сами собой.
Расскажу как родилась идея проекта. Когда-то пришлось пилить массивный модуль для интеграции 1С с одной известной государственной информационной системой — ВетИС. И другие спецы тоже должны были работать с этим модулем.
Когда очередь дошла до наведения порядка (задокументировать программный интерфейс, логично организовать структуру модулей и т.д.), понял, что эта рутина выше моих сил, и нужно ее как-то автоматизировать. И хотя по времени в итоге вышло дольше (неделя или две на разработку против одного-двух дней ручной работы), зато теперь этот инструмент экономит уйму сил.
Попробуйте, по ссылке описание как, там все элементарно. Если возникнет желание поучаствовать в развитии проекта – будет вообще замечательно. Сделаем
Тратите время на оформление кода?
👍 Да, люблю, когда все по стандартам
🤔 Нет, у меня и так все красиво
🔥 Я вообще не пишу код