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

360 lines
16 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Внесок у "Основи Data Science"
Дякуємо за ваш інтерес до внеску в навчальну програму "Основи Data Science"! Ми раді вітати внески від спільноти.
## Зміст
- [Кодекс поведінки](../..)
- [Як я можу внести свій внесок?](../..)
- [Початок роботи](../..)
- [Правила внеску](../..)
- [Процес Pull Request](../..)
- [Стиль оформлення](../..)
- [Ліцензійна угода для учасників](../..)
## Кодекс поведінки
Цей проєкт прийняв [Кодекс поведінки Microsoft Open Source](https://opensource.microsoft.com/codeofconduct/).
Для отримання додаткової інформації перегляньте [FAQ Кодексу поведінки](https://opensource.microsoft.com/codeofconduct/faq/)
або зв'яжіться з [opencode@microsoft.com](mailto:opencode@microsoft.com) для будь-яких додаткових запитань чи коментарів.
## Як я можу внести свій внесок?
### Повідомлення про помилки
Перед створенням звіту про помилку, будь ласка, перевірте існуючі проблеми, щоб уникнути дублювання. Коли ви створюєте звіт про помилку, включайте якомога більше деталей:
- **Використовуйте чіткий і описовий заголовок**
- **Опишіть точні кроки для відтворення проблеми**
- **Надайте конкретні приклади** (фрагменти коду, скріншоти)
- **Опишіть спостережувану поведінку та очікувану**
- **Вкажіть деталі вашого середовища** (ОС, версія Python, браузер)
### Пропозиції щодо покращень
Пропозиції щодо покращень завжди вітаються! Коли ви пропонуєте покращення:
- **Використовуйте чіткий і описовий заголовок**
- **Надайте детальний опис запропонованого покращення**
- **Поясніть, чому це покращення буде корисним**
- **Перелічіть будь-які схожі функції в інших проєктах, якщо це можливо**
### Внесок у документацію
Покращення документації завжди цінуються:
- **Виправлення орфографічних і граматичних помилок**
- **Покращення ясності пояснень**
- **Додавання відсутньої документації**
- **Оновлення застарілої інформації**
- **Додавання прикладів або варіантів використання**
### Внесок у код
Ми вітаємо внески в код, включаючи:
- **Нові уроки або вправи**
- **Виправлення помилок**
- **Покращення існуючих ноутбуків**
- **Нові набори даних або приклади**
- **Покращення додатку для тестів**
## Початок роботи
### Попередні вимоги
Перед внесенням переконайтеся, що у вас є:
1. Обліковий запис GitHub
2. Встановлений Git на вашій системі
3. Python 3.7+ і Jupyter
4. Node.js і npm (для внесків у додаток тестів)
5. Знання структури навчальної програми
Дивіться [INSTALLATION.md](INSTALLATION.md) для детальних інструкцій щодо налаштування.
### Форк і клонування
1. **Зробіть форк репозиторію** на GitHub
2. **Клонуйте ваш форк** локально:
```bash
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
```
3. **Додайте upstream remote**:
```bash
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
```
### Створення гілки
Створіть нову гілку для вашої роботи:
```bash
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. **Очистіть всі виводи** перед комітом:
```bash
jupyter nbconvert --clear-output --inplace notebook.ipynb
```
2. **Включайте markdown-комірки** з поясненнями
3. **Використовуйте узгоджене форматування**:
```python
# 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](https://www.python.org/dev/peps/pep-0008/):
```python
# 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. **Тестуйте локально**:
```bash
cd quiz-app
npm install
npm run serve
```
2. **Запустіть лінтер**:
```bash
npm run lint
```
3. **Успішно зберіть**:
```bash
npm run build
```
4. **Дотримуйтесь стилю Vue.js** і існуючих шаблонів
### Для перекладів
Коли ви додаєте або оновлюєте переклади:
1. Дотримуйтесь структури в папці `translations/`
2. Використовуйте код мови як назву папки (наприклад, `fr` для французької)
3. Зберігайте ту ж структуру файлів, що й англійська версія
4. Оновлюйте посилання на тести, додаючи параметр мови: `?loc=fr`
5. Перевіряйте всі посилання та форматування
## Процес Pull Request
### Перед поданням
1. **Оновіть вашу гілку** з останніми змінами:
```bash
git fetch upstream
git rebase upstream/main
```
2. **Протестуйте ваші зміни**:
- Запустіть всі змінені ноутбуки
- Перевірте додаток тестів, якщо він змінений
- Переконайтеся, що всі посилання працюють
- Перевірте орфографію та граматику
3. **Зробіть коміт ваших змін**:
```bash
git add .
git commit -m "Brief description of changes"
```
Пишіть чіткі повідомлення комітів:
- Використовуйте теперішній час ("Додати функцію", а не "Додано функцію")
- Використовуйте наказовий спосіб ("Перемістити курсор до...", а не "Переміщує курсор до...")
- Обмежуйте перший рядок до 72 символів
- Посилайтеся на проблеми та pull requests, якщо це доречно
4. **Запуште у ваш форк**:
```bash
git push origin feature/your-feature-name
```
### Створення Pull Request
1. Перейдіть до [репозиторію](https://github.com/microsoft/Data-Science-For-Beginners)
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. Видаліть вашу гілку:
```bash
git branch -d feature/your-feature-name
git push origin --delete feature/your-feature-name
```
2. Оновіть ваш форк:
```bash
git checkout main
git pull upstream main
git push origin main
```
## Стиль оформлення
### Markdown
- Використовуйте узгоджені рівні заголовків
- Додавайте порожні рядки між секціями
- Використовуйте блоки коду з вказівкою мови:
````markdown
```python
import pandas as pd
```
````
- Додавайте alt-текст до зображень: `![Alt text](../../translated_images/uk/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)`
- Зберігайте розумну довжину рядків (близько 80-100 символів)
### Python
- Дотримуйтесь стилю PEP 8
- Використовуйте змістовні назви змінних
- Додавайте docstrings до функцій
- Включайте типи даних, де це доречно:
```python
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.
## Запитання?
- Перевірте наш [Discord-канал #data-science-for-beginners](https://aka.ms/ds4beginners/discord)
- Приєднуйтесь до нашої [спільноти Discord](https://aka.ms/ds4beginners/discord)
- Перегляньте існуючі [проблеми](https://github.com/microsoft/Data-Science-For-Beginners/issues) та [pull requests](https://github.com/microsoft/Data-Science-For-Beginners/pulls)
## Дякуємо!
Ваші внески роблять цю навчальну програму кращою для всіх. Дякуємо, що знайшли час для внеску!
---
**Відмова від відповідальності**:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.