#frontend_post
Недавно (на самом деле недели 3 назад, но я выпал из реальности на какое-то время) подписчик задал вопрос:
Как передавать знания о проекте новым разработчикам?
Этот вопрос актуален не только для тех, кто работает в больших командах и сложных проектах. Любое "детище" разработчика может превратиться в тыкву, если не закладываться на то, что могут придти новые люди вместо него и продолжать работу над проектом.
👋 Документация — это основа
Самое первое и важное — это качественная документация. Она должна быть не только технической, но и “человеческой”. Основные компоненты:
Архитектура системы: диаграммы, описание основных модулей, связи между ними. Новичку важно сразу понимать общую картину.
Чеклист по настройке проекта: Пошаговое руководство по установке и запуску проекта локально. Этот процесс должен быть максимально автоматизирован, если возможно.
Описание основных сценариев использования: Покажите, как работают ключевые фичи с точки зрения пользователя. Это поможет разработчику быстрее понять логику проекта.
Все это можно описывать, например, в Confluence от Jira. Ну или в любом другом месте, где ваша команда взаимодействует.
👋 Как работают компоненты?
Каждый компонент системы должен быть хорошо описан: его назначение, зависимости, особенности использования.
Для меня идеал - Storybook. Там можно и описание подробное сделать, и варианты использования показать.
👋 Выделите важные моменты
Часто встречающиеся баги и решения: В больших проектах есть “болячки”, с которыми сталкиваются все разработчики. Лучше предупредить о них заранее.
Шаблоны и стандарты кода: Если в проекте используются определенные правила кодинга, обязательно включите их в гайд. Это может быть что-то вроде ESLint правил, код-стайла или соглашений о наименованиях.
4. Интерактивное обучение
Иногда необходимо создать видео по тому, как работает тот или иной компонент или функционал. Не стесняйтесь записать видео, так как действительно это может спасти кучу нервов. Проходил лично через это, поэтому знаю, о чем говорю)
👋 Менторство и поддержка
Документация — это отлично, но ничто не заменит реальной поддержки от коллег. Назначьте "ментора" для новых разработчиков, который сможет отвечать на вопросы и направлять.
👋 Обновляемость гайда
Важно, чтобы документация и гайд постоянно обновлялись. Любое изменение в системе должно сразу отражаться в документах, иначе новички будут работать с устаревшей
информацией.
А как вы передаете знания в вашей команде? Или как, на ваш взгляд, было бы идеально это делать?
Post #953
1.27K