Как была устроена документация внутри команды на предыдущей работе
Python
Middle
Без компании
Как была устроена документация внутри команды на предыдущей работе
Ответы
Мы использовали комбинацию инструментов для документации, чтобы обеспечить прозрачность и удобство доступа:
- **Confluence** – основной инструмент для хранения:
- Архитектурных решений (ADR)
- Онбординга новых разработчиков
- Гайдлайнов по стилю кода
- Встреч и ретроспектив
- **GitHub Wiki** – для проектной документации:
- API эндпоинтов
- Установки и запуска проекта
- Чеклистов деплоя
- **Docstrings** в коде (Google style):
```
def calculate_stats(data: List[float]) -> Dict[str, float]:
"""Вычисляет базовую статистику для набора данных.
Args:
data: Список числовых значений
Returns:
Словарь с ключами: 'mean', 'median', 'std_dev'
Raises:
ValueError: Если входной список пуст
"""
if not data:
raise ValueError("Input data cannot be empty")
...
```
Ключевые принципы:
- Документируем "почему", а не "что" (код должен говорить сам за себя)
- Все ADR проходят код-ревью
- Wiki обновляется как часть Definition of Done
- Используем Swagger для API документации
Для сложных решений добавляли схемы в Miro и прикрепляли ссылки в Confluence.