You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/ru/CONTRIBUTING.md

17 KiB

Вклад в проект "Основы Data Science"

Спасибо за ваш интерес к участию в разработке учебного курса "Основы Data Science"! Мы приветствуем вклад от сообщества.

Содержание

Кодекс поведения

Этот проект принял Кодекс поведения Microsoft Open Source.
Для получения дополнительной информации ознакомьтесь с FAQ по кодексу поведения
или свяжитесь с opencode@microsoft.com для любых дополнительных вопросов или комментариев.

Как я могу внести вклад?

Сообщение об ошибках

Перед созданием отчета об ошибке, пожалуйста, проверьте существующие проблемы, чтобы избежать дублирования. При создании отчета об ошибке включите как можно больше деталей:

  • Используйте четкий и описательный заголовок
  • Опишите точные шаги для воспроизведения проблемы
  • Предоставьте конкретные примеры (фрагменты кода, скриншоты)
  • Опишите наблюдаемое поведение и то, что вы ожидали
  • Укажите детали вашей среды (ОС, версия Python, браузер)

Предложение улучшений

Мы приветствуем предложения по улучшению! При внесении предложений:

  • Используйте четкий и описательный заголовок
  • Предоставьте подробное описание предлагаемого улучшения
  • Объясните, почему это улучшение будет полезным
  • Перечислите любые похожие функции в других проектах, если применимо

Вклад в документацию

Улучшения документации всегда приветствуются:

  • Исправляйте опечатки и грамматические ошибки
  • Улучшайте ясность объяснений
  • Добавляйте недостающую документацию
  • Обновляйте устаревшую информацию
  • Добавляйте примеры или варианты использования

Вклад в код

Мы приветствуем вклад в код, включая:

  • Новые уроки или упражнения
  • Исправление ошибок
  • Улучшение существующих ноутбуков
  • Новые наборы данных или примеры
  • Улучшения приложения для викторин

Начало работы

Предварительные требования

Перед внесением вклада убедитесь, что у вас есть:

  1. Аккаунт GitHub
  2. Установленный Git на вашем компьютере
  3. Python 3.7+ и Jupyter
  4. Node.js и npm (для вклада в приложение для викторин)
  5. Знание структуры учебного курса

См. INSTALLATION.md для подробных инструкций по настройке.

Форк и клонирование

  1. Сделайте форк репозитория на GitHub

  2. Клонируйте ваш форк локально:

    git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
    cd Data-Science-For-Beginners
    
  3. Добавьте upstream-репозиторий:

    git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
    

Создание ветки

Создайте новую ветку для вашей работы:

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

Рекомендации по именованию веток:

  • feature/ - Новые функции или уроки
  • fix/ - Исправление ошибок
  • docs/ - Изменения в документации
  • refactor/ - Рефакторинг кода

Руководство по внесению вклада

Для содержания уроков

При добавлении уроков или изменении существующих:

  1. Следуйте существующей структуре:

    • README.md с содержанием урока
    • Jupyter Notebook с упражнениями
    • Задание (если применимо)
    • Ссылки на предварительные и итоговые викторины
  2. Включите следующие элементы:

    • Четкие учебные цели
    • Пошаговые объяснения
    • Примеры кода с комментариями
    • Упражнения для практики
    • Ссылки на дополнительные ресурсы
  3. Обеспечьте доступность:

    • Используйте понятный и простой язык
    • Добавляйте альтернативный текст для изображений
    • Включайте комментарии к коду
    • Учитывайте разные стили обучения

Для Jupyter Notebook

  1. Очистите все выводы перед коммитом:

    jupyter nbconvert --clear-output --inplace notebook.ipynb
    
  2. Добавляйте markdown ячейки с объяснениями

  3. Используйте единообразное форматирование:

    # Import libraries at the top
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # Use meaningful variable names
    # Add comments for complex operations
    # Follow PEP 8 style guidelines
    
  4. Полностью протестируйте ваш ноутбук перед отправкой

Для Python-кода

Следуйте PEP 8 рекомендациям по стилю:

# Good practices
import pandas as pd

def calculate_mean(data):
    """Calculate the mean of a dataset.
    
    Args:
        data (list): List of numerical values
        
    Returns:
        float: Mean of the dataset
    """
    return sum(data) / len(data)

Для приложения викторин

При изменении приложения для викторин:

  1. Тестируйте локально:

    cd quiz-app
    npm install
    npm run serve
    
  2. Запустите линтер:

    npm run lint
    
  3. Убедитесь в успешной сборке:

    npm run build
    
  4. Следуйте руководству по стилю Vue.js и существующим шаблонам

Для переводов

При добавлении или обновлении переводов:

  1. Следуйте структуре в папке translations/
  2. Используйте код языка как имя папки (например, fr для французского)
  3. Сохраняйте ту же структуру файлов, что и в английской версии
  4. Обновляйте ссылки на викторины, добавляя параметр языка: ?loc=fr
  5. Тестируйте все ссылки и форматирование

Процесс Pull Request

Перед отправкой

  1. Обновите вашу ветку с последними изменениями:

    git fetch upstream
    git rebase upstream/main
    
  2. Протестируйте ваши изменения:

    • Запустите все измененные ноутбуки
    • Протестируйте приложение для викторин, если оно изменено
    • Убедитесь, что все ссылки работают
    • Проверьте орфографию и грамматику
  3. Закоммитьте ваши изменения:

    git add .
    git commit -m "Brief description of changes"
    

    Пишите понятные сообщения коммитов:

    • Используйте настоящее время ("Добавить функцию", а не "Добавил функцию")
    • Используйте повелительное наклонение ("Переместить курсор в...", а не "Перемещает курсор в...")
    • Ограничьте первую строку 72 символами
    • Ссылайтесь на проблемы и pull requests, если это уместно
  4. Запушьте в ваш форк:

    git push origin feature/your-feature-name
    

Создание Pull Request

  1. Перейдите в репозиторий
  2. Нажмите "Pull requests" → "New pull request"
  3. Нажмите "compare across forks"
  4. Выберите ваш форк и ветку
  5. Нажмите "Create pull request"

Формат заголовка PR

Используйте четкие, описательные заголовки в следующем формате:

[Component] Brief description

Примеры:

  • [Lesson 7] Исправить ошибку импорта в Python Notebook
  • [Quiz App] Добавить перевод на немецкий язык
  • [Docs] Обновить README с новыми требованиями
  • [Fix] Исправить путь к данным в уроке по визуализации

Описание PR

Включите в описание PR:

  • Что: Какие изменения вы внесли?
  • Почему: Почему эти изменения необходимы?
  • Как: Как вы реализовали изменения?
  • Тестирование: Как вы протестировали изменения?
  • Скриншоты: Включите скриншоты для визуальных изменений
  • Связанные проблемы: Ссылка на связанные проблемы (например, "Fixes #123")

Процесс обзора

  1. Автоматические проверки будут запущены для вашего PR
  2. Мейнтейнеры проверят ваш вклад
  3. Исправьте замечания, добавив дополнительные коммиты
  4. После одобрения мейнтейнер объединит ваш PR

После объединения вашего PR

  1. Удалите вашу ветку:

    git branch -d feature/your-feature-name
    git push origin --delete feature/your-feature-name
    
  2. Обновите ваш форк:

    git checkout main
    git pull upstream main
    git push origin main
    

Руководство по стилю

Markdown

  • Используйте единообразные уровни заголовков

  • Вставляйте пустые строки между разделами

  • Используйте блоки кода с указанием языка:

    ```python
    import pandas as pd
    ```
    
  • Добавляйте альтернативный текст к изображениям: ![Alt text](../../translated_images/ru/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)

  • Сохраняйте разумную длину строк (около 80-100 символов)

Python

  • Следуйте стилю PEP 8
  • Используйте осмысленные имена переменных
  • Добавляйте docstrings к функциям
  • Включайте подсказки типов, где это уместно:
    def process_data(df: pd.DataFrame) -> pd.DataFrame:
        """Process the input dataframe."""
        return df
    

JavaScript/Vue.js

  • Следуйте руководству по стилю Vue.js 2
  • Используйте предоставленную конфигурацию ESLint
  • Пишите модульные, переиспользуемые компоненты
  • Добавляйте комментарии для сложной логики

Организация файлов

  • Храните связанные файлы вместе
  • Используйте описательные имена файлов
  • Следуйте существующей структуре директорий
  • Не коммитьте ненужные файлы (.DS_Store, .pyc, node_modules и т.д.)

Соглашение о лицензии для участников

Этот проект приветствует вклад и предложения. Большинство вкладов требуют, чтобы вы
согласились с Соглашением о лицензии для участников (CLA), подтверждающим, что вы имеете право
и действительно предоставляете нам права на использование вашего вклада. Для подробностей посетите
https://cla.microsoft.com.

Когда вы отправляете pull request, CLA-бот автоматически определит, нужно ли вам
предоставить CLA, и добавит соответствующую метку или комментарий. Просто следуйте
инструкциям, предоставленным ботом. Вам нужно будет сделать это только один раз для всех репозиториев, использующих наш CLA.

Вопросы?

Спасибо!

Ваш вклад делает этот учебный курс лучше для всех. Спасибо, что нашли время внести свой вклад!


Отказ от ответственности:
Этот документ был переведен с использованием сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.