Введение
Представьте, что вы наткнулись на проект с открытым исходным кодом, который идеально соответствует вашим интересам. Вы хотите использовать его или внести свой вклад, но с чего начать? Ответ кроется в документации проекта.
Теперь представьте себе Документацию с открытым исходным кодом как руководство, помогающее пользователю извлечь максимум из проекта. Она направляет пользователя через тонкости проекта, помогая ему понять основные принципы проекта, как его использовать и как внести свой вклад.
В этой статье мы рассмотрим документацию с открытым исходным кодом, типы документации с открытым исходным кодом, обсудим важность, лучшие практики создания ее и, наконец, инструменты для оптимизации процесса создания документации с открытым исходным кодом.
Что такое Документация с открытым исходным кодом?
Прежде всего, давайте определим “Открытый исходный код”. Открытый исходный код в простых терминах означает тип программного обеспечения, исходный код которого свободно доступен общественности для осмотра, модификации, улучшения и распространения. Например: операционная система Linux, веб-браузер Firefox, MongoDB и т. д.
Теперь Документация с открытым исходным кодом относится к письменным материалам, связанным с программным обеспечением с открытым исходным кодом. Она предоставляет информацию об использовании продукта, его функциональности и обслуживании. В нее входят детали и информация о функциях программного обеспечения, его установке, настройке и использовании. Эта документация обычно доступна общественности наряду с исходным кодом.
Документация с открытым исходным кодом служит важным ресурсом для разработчиков, пользователей и участников, предоставляя необходимую информацию о целях, особенностях и использовании проекта. На первый взгляд проекты с открытым исходным кодом могут показаться сложными, но благодаря хорошей документации пользователи и участники могут лучше понять проект.
Типы документации с открытым исходным кодом
Проекты с открытым исходным кодом обычно имеют 3 типа документации, каждая из которых направлена на конкретные потребности. К ним относятся техническая документация, продуктовая документация и руководства.
Техническая документация : Эта документация предназначена для разработчиков. Она углубленно описывает базу кода, объясняет API и демонстрирует, как использовать программный интерфейс проекта. Также она включает в себя вводные документы о проекте, руководства для разработчиков, работающих над проектом, и инструкции по настройке среды разработки. Документация по API, руководства по разработке и README являются отличными примерами технической документации.
Продуктовая документация : Эта документация ориентирована на пользователей проекта. Она включает в себя руководства пользователя, краткие инструкции по началу работы, руководства по установке, руководства по устранению неполадок, ЧаВО и т. д. Она в основном сосредотачивается на опыте пользователя и помогает пользователям понять проект, его функции и как им пользоваться.
Руководства : Эта документация создана для участников проекта. Она помогает им понять, как ориентироваться в проекте. Основные типы руководств для проектов с открытым исходным кодом:
-
Руководства по вкладам: Они действительно важны, так как объясняют, как внести вклад в проект, включая представление кода и сообщения об ошибках/ исправления.
-
Руководство по стилю: предоставляет информацию о предпочтительном стиле, форматировании и соглашениях по наименованию. Оно обеспечивает качество и последовательность в коде и вкладах.
-
Кодекс поведения: определяет ожидаемое поведение от участников и членов сообщества.
Важность документации Open Source
Хорошая документация имеет первостепенное значение как для пользователей проекта, так и для участников проекта. Давайте рассмотрим, как хорошая документация помогает пользователям и участникам Open Source проекта.
Для пользователей:
-
Улучшенный Пользовательский опыт: Хорошая документация помогает пользователю понять, как эффективно использовать проект и получить максимум от него. Она обеспечивает более быстрое решение проблем, с которыми пользователь может столкнуться при использовании проекта.
-
Более легкое принятие и использование программного обеспечения: Четкая и краткая документация облегчает понимание особенностей и функциональности программного обеспечения. Она сокращает кривую обучения и делает программное обеспечение более доступным для широкого круга пользователей.
-
Решение проблем: Подробная документация может помочь пользователям в устранении проблем и нахождении решений независимо. Это уменьшает зависимость от службы поддержки и улучшает общий опыт пользователя.
-
Снижение затрат на поддержку: Хорошая документация может помочь минимизировать количество вопросов поддержки, экономя время и ресурсы как для пользователей, так и для разработчиков.
Для участников:
-
Более ясное понимание проекта : Чтобы иметь возможность внести вклад в проект, необходимо понимать его. Наличие хорошей документации помогает читателю понять проект и как начать свой вклад.
-
Эффективный Онбординг : Хорошая документация облегчает процесс вхождения в проект для участников. Она помогает им лучше ознакомиться с кодовой базой проекта, рабочим процессом и необходимыми деталями для внесения своего вклада.
-
Улучшенное Сотрудничество: Четкая и краткая документация создает общую основу для участников, гарантируя, что каждый понимает цели проекта, его архитектуру и нормы кодирования. Участники могут легко получить необходимую информацию для выполнения своих задач, что сокращает задержки и недопонимания.
Лучшие практики для создания хорошей документации
Исходя из нашего обсуждения, видно, что написание хорошей документации для вашего проекта с открытым исходным кодом действительно критично. Чтобы создать хорошую документацию, которая удовлетворит потребности ваших пользователей и участников проекта, вот несколько вещей, которые следует сделать.
- Пишите четко и кратко, чтобы ваши читатели могли легко понять, что вы представляете. Важно избегать использования сложных технических жаргонизмов, которые могут запутать ваших читателей, так как суть документации заключается в улучшении пользовательского опыта
-
Организуйте свою документацию структурированным образом. Для этого необходимо логически организовать информацию с использованием заголовков, подзаголовков и маркеров. Ваша документация должна следовать структурированному плану, все должно логично сочетаться от начала до конца, и читателям должно быть легко следовать за информацией
-
Пишите, имея в виду потребности пользователей. Важно поставить себя на их место, ваша документация должна быть полезным ресурсом, а не барьером для входа. Объясняйте концепции как можно более понятно; не делайте предположений. Вы можете включать фрагменты кода, чтобы проиллюстрировать конкретные концепции, предвидеть общие вопросы и предоставлять простые решения/ответы.
-
Держите вашу документацию актуальной, обновляя ее при каждом изменении в проекте. Вашу документацию следует отправлять вместе с кодом, по мере обновления кодовой базы также следует обновлять документацию.
-
Предоставляйте четкие инструкции о том, как внести вклад в проект. Таким образом, люди, готовые внести свой вклад, смогут ориентироваться в проекте и легко вносить изменения.
-
Проверьте наличие ошибок, несоответствий или устаревшей информации. Также запросите отзывы от пользователей, это помогает улучшить документацию.
-
Последним, но не менее важным, будет использование инструментов, которые могут помочь в создании хорошей документации. Существует множество инструментов, которые вы можете использовать, чтобы
Инструменты для создания хорошей документации
Как уже было сказано ранее, существует множество инструментов, которые вы можете использовать для создания хорошей документации, которую пользователи могут легко просматривать и понимать. Вот несколько из них.
-
Sphinx : популярный инструмент для создания технической документации, особенно для проектов на языке Python. Он поддерживает различные форматы вывода (HTML, PDF, LaTeX) и имеет богатую экосистему расширений.
-
Doxygen : инструмент для генерации документации API из комментариев в исходном коде. Поддерживает различные языки программирования и может создавать документацию в форматах HTML, LaTeX и других.
-
MkDocs: простой, быстрый и настраиваемый генератор документации, который использует Markdown для написания контента. Он хорошо подходит для небольших проектов.
-
Read the Docs: платформа для размещения документации, созданной с помощью Sphinx или MkDocs. Упрощает документирование программного обеспечения путем создания, версионирования и размещения ваших документов.
-
Git : Git позволяет отслеживать изменения в вашей документации со временем. Это означает, что вы легко можете вернуться к предыдущим версиям при необходимости, а также помогает предотвращать случайные удаления. Он помогает в непрерывном обновлении документации.
Вы можете ознакомиться с документацией каждого из инструментов, чтобы более глубоко понять, как они работают и как начать использовать их.
Заключение
В заключение, хорошая документация определяет, насколько хорошо проект понимается и используется. Важно иметь четкую и краткую документацию, которая удовлетворяет потребности всех, кто хочет использовать проект с открытым исходным кодом.
Из статьи видно, что, вложив время и усилия в создание тщательной, хорошо структурированной и доступной документации, вы не только улучшаете пользовательский опыт, но и обеспечиваете устойчивость вашего проекта.
В следующий раз, когда вы наткнетесь на проект с открытым исходным кодом, который привлечет ваше внимание, не стесняйтесь погружаться; документация будет вашим путеводителем по использованию или участию в проекте.
Ресурсы
https://opensource.googleblog.com/2018/10/building-great-open-source-documentation.html
Source:
https://dherrbie.hashnode.dev/the-corner-stone-of-open-source-project-its-documentation