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/uk/CONTRIBUTING.md

16 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 remote:

    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 ноутбук з вправами
    • Завдання (якщо застосовно)
    • Посилання на попередні та наступні тести
  2. Включайте ці елементи:

    • Чіткі навчальні цілі
    • Пояснення крок за кроком
    • Приклади коду з коментарями
    • Вправи для практики
    • Посилання на додаткові ресурси
  3. Забезпечте доступність:

    • Використовуйте чітку, просту мову
    • Додавайте alt-текст для зображень
    • Включайте коментарі до коду
    • Враховуйте різні стилі навчання

Для Jupyter ноутбуків

  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 ноутбуці
  • [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-текст до зображень: ![Alt text](../../translated_images/uk/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, і відповідно позначить PR (наприклад, мітка, коментар). Просто дотримуйтесь інструкцій, наданих ботом. Вам потрібно буде зробити це лише один раз для всіх репозиторіїв, які використовують наш CLA.

Запитання?

Дякуємо!

Ваші внески роблять цю навчальну програму кращою для всіх. Дякуємо, що знайшли час для внеску!


Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.