Визуализация процесса разработки

Полагаю, многие коллеги уже встречали ролики, в которых при помощи утилиты Gource(https://gource.io) выполняется красивая визуализация процесса разработки по истории изменений в системе контроля версий. Предлагаю свои пару видео по проектам ERP, а так же скрипт конвертации отчета по истории хранилища в необходимый формат.

Был период, когда я экспериментировал с выгрузкой хранилища 1С в git для выполнения code review. Репозитории наполнялись при помощи 1С:ГитКонвертер, для работы с кодом использовался Upsource. Но потом энтузиазм поутих, а коммиты остались. И спокойно себе лежали ровно до того момента, когда я, просматривая очередной подобный ролик, подумал: "вот был бы у меня такой код, я бы…". "У вас есть такой код" — услужливо подсказала память.

Через минуту я уже изучал документацию, как склеить историю нескольких репозиториев git в один. Немного подчистив получившийся сводный лог, получил следующий результат:

Данные в git выгружались из хранилища 1С ближе к дате начала эксперимента, поэтому захотелось большего — визуализации истории за все время проекта. В ходе изучения документации стало понятно, что утилита может отобразить любые данные, приведенные к формату custom log format. В качестве источника данных был выбран текстовый формат отчета по истории хранилища.

Для конвертации текста использовался 1Script. Причина — наличие возможности работы с регулярными выражениями из коробки, без применения com-объекта VBScript.RegExp. Результат — визуализация истории разработки по четырем проектам ERP за последние три года.

Скрипт выкладываю в "базовой" редакции, после были еще правки со своей спецификой. Коммиты с созданием хранилища и прочие с тысячами объектов (обновление на новый релиз, например) лучше пропускать, gource начинает тормозить. Если сохранять видео с помощью gource для последующей конвертации, подготовьте заранее место на диске. Пять минут в 1920х1080 займут примерно 100 Гб. Конвертация такого файла при помощи ffmpeg в mp4 съест еще примерно 5 Гб. На этом все, всем отличных визуализаций.

14 Comments

  1. Scorpion4eg

    За что минус?? Классная вещь для медитации…

    Reply
  2. aleximuson

    Если у кого-то были сомнения — начать или не начать использовать GIT с 1С. То после увиденного все сомнения должны отпасть 😊

    Reply
  3. rusmil

    Очень красиво, а какая практическая польза от такой визуализации (просто я не в теме)?

    Reply
  4. Rustig

    прикольно)

    Reply
  5. Vladimir Litvinenko

    (2) Не отпадут. От красивых картинок нет практической пользы и уже готовые всегда можно найти на Ютубе. Для работы через git и практики код ревью нужна воля, в первую очередь руководителя разработки. И понятная цель. Потому что это требует времени. Затраты времени должны быть оправданы, хотя бы тем, что система будет развиваться и должна оставаться стабильной и надёжной.

    Целью разработки в 1С, как правило, являются быстрые деньги для разработчика и решение проблемы здесь и сейчас, в том числе самыми неэкологичными методами, для заказчика. Поэтому широкое распространение git получит только с подачи фирмы 1С (наверное уже скоро). И будет применяться сначала фирмами-франчайзи, а затем и на местах. Но по минимуму, как сейчас хранилище, а не для поддержания качества. Опять же если фирма 1С не заставит делать иначе )) Тем более что самые популярные доработанные БП и ЗУП вообще в постоянной стабильности не нуждаются и применение git на местах для них неоправданно и слишком затратно.

    Сейчас в основном как и написано в публикации

    Но потом энтузиазм поутих, а коммиты остались.

    P.S.: Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?

    Reply
  6. aleximuson

    (5) надо было теги поставить [Сарказм][/Сарказм]

    Да, практической пользы минимум. Но красиво жеж?!!

    Reply
  7. Vladimir Litvinenko

    (6) Эх, не понял сарказма )) Да, красиво. Но вопрос по поводу веток остаётся. Есть подозрение, что программа произвольным образом соединяет коммиты, не анализируя их фактической взаимосвязи.

    Reply
  8. mickey.1cx

    (5)

    Непонятно, откуда столько веток в визуализации? Ведь хранилище линейно. Применялась технология разветвленной разработки? Или это просто рандомное соединение коммитов друг с другом?

    Нет, не рандомное. Здесь объединены четыре хранилища разных проектов, к названию измененного объекта добавлен предикат имени проекта. Выполнена замена разделителей «.» к «/», так же я добавил первый уровень как расширение файла.

    Получается строка вида ИмяПроекта/Документ/ПланПродаж/Форма/ФормаДокумента.Документ

    Подобное представление gource воспринимает как иерархию папок ИмяПроекта/Документ/ПланПродаж/Форма с файлом ФормаДокумента.Документ.

    Reply
  9. mickey.1cx

    (3) Своего рода ретроспектива деятельности команды за несколько лет. Может служить презентацией проекта.

    А вот здесь пытались применять визуализацию уже как инструмент анализа состояния проекта.

    Reply
  10. Vladimir Litvinenko

    Понял, спасибо. То есть отображается иерархия модифицированных объектов метаданных, включая переходы на новые релизы, а не ветвление.

    Reply
  11. Scorpion4eg

    (3) или вывести на телевизор вместо камина и медитировать.

    Reply
  12. 3vs

    У людей много свободного времени заниматься ерундой.

    Reply
  13. Климов Сергей

    Прикольное таймлапс видео. Можно на скринсейвер поставить.

    Reply
  14. dkoder

    Все еще назад смотрим!

    Нужен такой примерно инструмент, но для планирования разработки, связанный с методикой группы разработчиков.

    Надо в будущее смотреть!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *