Благодарим ви за интереса към приноса към учебната програма "Основи на науката за данни"! Приветстваме приноси от общността.
- Кодекс на поведение
- Как мога да допринеса?
- Първи стъпки
- Насоки за принос
- Процес на Pull Request
- Насоки за стил
- Споразумение за лиценз на приносителя
Този проект е приел Кодекса на поведение за отворен код на Microsoft. За повече информация вижте Често задавани въпроси за Кодекса на поведение или се свържете с opencode@microsoft.com за допълнителни въпроси или коментари.
Преди да създадете доклади за грешки, моля, проверете съществуващите проблеми, за да избегнете дублиране. Когато създавате доклад за грешка, включете възможно най-много подробности:
- Използвайте ясно и описателно заглавие
- Опишете точните стъпки за възпроизвеждане на проблема
- Предоставете конкретни примери (кодови откъси, екранни снимки)
- Опишете наблюдаваното поведение и какво сте очаквали
- Включете подробности за вашата среда (ОС, версия на Python, браузър)
Предложения за подобрения са добре дошли! Когато предлагате подобрения:
- Използвайте ясно и описателно заглавие
- Предоставете подробно описание на предложеното подобрение
- Обяснете защо това подобрение би било полезно
- Избройте подобни функции в други проекти, ако е приложимо
Подобренията в документацията винаги са ценни:
- Поправете правописни и граматически грешки
- Подобрете яснотата на обясненията
- Добавете липсваща документация
- Актуализирайте остаряла информация
- Добавете примери или случаи на употреба
Приветстваме кодови приноси, включително:
- Нови уроци или упражнения
- Поправки на грешки
- Подобрения на съществуващи тетрадки
- Нови набори от данни или примери
- Подобрения на приложението за тестове
Преди да допринесете, уверете се, че имате:
- Акаунт в GitHub
- Инсталиран Git на вашата система
- Python 3.7+ и Jupyter инсталирани
- Node.js и npm (за приноси към приложението за тестове)
- Запознатост със структурата на учебната програма
Вижте INSTALLATION.md за подробни инструкции за настройка.
- Направете форк на репозитория в GitHub
- Клонирайте вашия форк локално:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Добавете 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/- Рефакториране на код
Когато допринасяте уроци или модифицирате съществуващи:
-
Следвайте съществуващата структура:
- README.md със съдържание на урока
- Jupyter тетрадка с упражнения
- Задача (ако е приложимо)
- Връзка към предварителни и последващи тестове
-
Включете тези елементи:
- Ясни учебни цели
- Обяснения стъпка по стъпка
- Кодови примери с коментари
- Упражнения за практика
- Връзки към допълнителни ресурси
-
Осигурете достъпност:
- Използвайте ясен, прост език
- Осигурете alt текст за изображения
- Включете коментари в кода
- Вземете предвид различни стилове на учене
-
Изчистете всички изходи преди да комитнете:
jupyter nbconvert --clear-output --inplace notebook.ipynb
-
Включете markdown клетки с обяснения
-
Използвайте последователно форматиране:
# 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
-
Тествайте вашата тетрадка напълно преди подаване
Следвайте насоките за стил 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)Когато модифицирате приложението за тестове:
-
Тествайте локално:
cd quiz-app npm install npm run serve -
Пуснете линтер:
npm run lint
-
Успешно изградете:
npm run build
-
Следвайте насоките за стил на Vue.js и съществуващите модели
Когато добавяте или актуализирате преводи:
- Следвайте структурата в папката
translations/ - Използвайте езиковия код като име на папката (например
frза френски) - Поддържайте същата структура на файловете като английската версия
- Актуализирайте връзките към тестовете, за да включват езиков параметър:
?loc=fr - Тествайте всички връзки и форматиране
-
Актуализирайте вашия клон с последните промени:
git fetch upstream git rebase upstream/main
-
Тествайте вашите промени:
- Пуснете всички модифицирани тетрадки
- Тествайте приложението за тестове, ако е модифицирано
- Уверете се, че всички връзки работят
- Проверете за правописни и граматически грешки
-
Комитнете вашите промени:
git add . git commit -m "Brief description of changes"
Напишете ясни съобщения за комит:
- Използвайте сегашно време ("Добавяне на функция", а не "Добавена функция")
- Използвайте императивно наклонение ("Премести курсора към...", а не "Премества курсора към...")
- Ограничете първия ред до 72 символа
- Позовавайте се на проблеми и Pull Requests, когато е уместно
-
Пушнете към вашия форк:
git push origin feature/your-feature-name
- Отидете до репозитория
- Кликнете "Pull requests" → "New pull request"
- Кликнете "compare across forks"
- Изберете вашия форк и клон
- Кликнете "Create pull request"
Използвайте ясни, описателни заглавия, следвайки този формат:
[Component] Brief description
Примери:
[Lesson 7] Fix Python notebook import error[Quiz App] Add German translation[Docs] Update README with new prerequisites[Fix] Correct data path in visualization lesson
Включете в описанието на вашия PR:
- Какво: Какви промени направихте?
- Защо: Защо тези промени са необходими?
- Как: Как реализирахте промените?
- Тестване: Как тествахте промените?
- Екранни снимки: Включете екранни снимки за визуални промени
- Свързани проблеми: Връзка към свързани проблеми (например "Fixes #123")
- Автоматични проверки ще се изпълнят на вашия PR
- Поддържащите ще прегледат вашия принос
- Отговорете на обратната връзка, като направите допълнителни комити
- След одобрение, поддържащ ще слее вашия PR
-
Изтрийте вашия клон:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name
-
Актуализирайте вашия форк:
git checkout main git pull upstream main git push origin main
- Използвайте последователни нива на заглавия
- Включвайте празни редове между секциите
- Използвайте кодови блокове с указания за език:
```python import pandas as pd ```
- Добавяйте alt текст към изображения:
 - Поддържайте разумна дължина на редовете (около 80-100 символа)
- Следвайте насоките за стил на PEP 8
- Използвайте значими имена на променливи
- Добавяйте docstrings към функции
- Включвайте типови подсказки, когато е подходящо:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
- Следвайте насоките за стил на 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
- Присъединете се към нашата Discord общност
- Прегледайте съществуващите проблеми и Pull Requests
Вашите приноси правят тази учебна програма по-добра за всички. Благодарим ви, че отделихте време да допринесете!
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.