Docs as Code: так тоже бывает
💡🧠Автотесты кое-как пережили, теперь новый вызов. Сегодня хочу рассказать о том, как я познакомилась с Docs as Code и что из этого может получиться.
Вообще на поиск вариантов как быть с документацией меня натолкнули две вещи: завершающая стадия одного проекта и комментарий в Сетке одного тимлида на мой пост. Мне подсказали, что неплохо бы научиться создавать документацию параллельно разработке. И что есть Docs as Code. Сила соцсетей!
💔Когда я спросила разработчиков одного из проектов, знают ли они что это, тимлид сказал “не знаю”, а разработчик -“ой, давайте только без этого” и выключил камеру. Разбираемся, хорошо или плохо - составлять документацию как код. И вообще - что это такое. Мне интересно, а вам?
Docs as Code — это методология, при которой документация создается, управляется и версионируется так же, как и исходный код приложения. Она хранится в системах контроля версий (любимый Git!), может проходить через этапы ревью, автоматического тестирования, и даже CI/CD, что приближает процесс работы с документацией к тому, как разрабатываются и выпускаются сами продукты.
Почему это классно:
💗Документация находится рядом с кодом в репозитории. Разработчики и технические писатели могут совместно работать над текстом и кодом, делая документацию более актуальной и синхронизированной с версией продукта.
💗 Docs as Code позволяет отслеживать изменения в документации, возвращаться к предыдущим версиям и видеть, кто и что изменил.
💗 Благодаря интеграции с CI/CD, можно автоматически проверять документацию на синтаксические ошибки, форматирование, и даже запускать тесты, которые проверяют корректность примеров кода в документации.
💗Платформы, такие как GitHub или GitLab, позволяют легко принимать пул-реквесты, оставлять комментарии и проводить ревью изменений в документации, так же как и в коде.
💗Весь процесс редактирования документации становится прозрачным для команды. Все могут увидеть, как и когда обновлялись документы, и это помогает поддерживать документацию в актуальном состоянии.
💎💎💎Инструменты для Docs as Code:
✍️Git: для контроля версий документации. ✍️MkDocs и Sphinx: для генерации статических сайтов из документации. ✍️Swagger: для автоматической генерации документации API. ✍️JSDoc, Doxygen: для генерации документации на основе комментариев в коде. ✍️Vale, MarkdownLint: для проверки стиля и качества документации.
Есть много причин, почему разработчики могут быть не заинтересованы в использовании этого подхода. Мне кажется, главная - сложность интеграции документации в DevOps процессы.
Хотя это мощный инструмент для интеграции документации в DevOps, его реализация может потребовать дополнительных усилий на начальных этапах. Настройка пайплайнов CI/CD для автоматической генерации и тестирования документации требует времени, а также дополнительного изучения инструментов. Для команды, которая никогда не работала с таким подходом, это может казаться сложной и затратной задачей.
🚀🚀🚀Как мотивировать разработчиков к использованию Docs as Code?
Я думаю, что нужно попробовать идти через автоматизацию и использование удобных инструментов для документирования. Но в любом случае, подозреваю что это overskill и тут должна быть еще мотивация интересом. Для руководителя проекта ключевыми задачами тут станут поддержка команды, автоматизация и стандартизация процессов. Важно начать с малого, обучить команду и постепенно адаптировать инструменты и практики, чтобы они стали неотъемлемой частью DevOps-процессов.
В долгосрочной перспективе, несмотря на сложности на начальных этапах, Docs as Code помогает сократить время на поддержку документации и делает её полезным инструментом для всех участников команды.
· 10.09.2024
Какие отрицательные стороны вы увидели?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 11.09.2024
Конечно, деньги! Доп.затраты на поддержание этого кода. А еще мне как менеджеру будет сложно проверять результаты работы - я не владею инструментами. Но подумать в эту сторону можно.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён