11 KiB
Přispívání do Data Science pro začátečníky
Děkujeme za váš zájem o přispění do kurikula Data Science pro začátečníky! Uvítáme příspěvky od komunity.
Obsah
- Kodex chování
- Jak mohu přispět?
- Začínáme
- Pokyny pro přispívání
- Proces pull requestu
- Pokyny pro styl
- Dohoda o licenci přispěvatele
Kodex chování
Tento projekt přijal Kodex chování Microsoft Open Source. Pro více informací si přečtěte FAQ ke kodexu chování nebo kontaktujte opencode@microsoft.com s dalšími dotazy nebo připomínkami.
Jak mohu přispět?
Hlášení chyb
Než vytvoříte hlášení o chybě, zkontrolujte existující problémy, abyste se vyhnuli duplicitám. Při vytváření hlášení o chybě uveďte co nejvíce podrobností:
- Použijte jasný a popisný název
- Popište přesné kroky k reprodukci problému
- Uveďte konkrétní příklady (ukázky kódu, snímky obrazovky)
- Popište chování, které jste pozorovali, a co jste očekávali
- Uveďte podrobnosti o vašem prostředí (OS, verze Pythonu, prohlížeč)
Návrhy na vylepšení
Návrhy na vylepšení jsou vítány! Při navrhování vylepšení:
- Použijte jasný a popisný název
- Poskytněte podrobný popis navrhovaného vylepšení
- Vysvětlete, proč by toto vylepšení bylo užitečné
- Uveďte podobné funkce v jiných projektech, pokud je to relevantní
Přispívání do dokumentace
Vylepšení dokumentace jsou vždy oceněna:
- Opravte překlepy a gramatické chyby
- Zlepšete srozumitelnost vysvětlení
- Doplňte chybějící dokumentaci
- Aktualizujte zastaralé informace
- Přidejte příklady nebo případy použití
Přispívání kódem
Uvítáme příspěvky kódu, včetně:
- Nových lekcí nebo cvičení
- Oprav chyb
- Vylepšení stávajících notebooků
- Nových datových sad nebo příkladů
- Vylepšení aplikace pro kvízy
Začínáme
Předpoklady
Než začnete přispívat, ujistěte se, že máte:
- Účet na GitHubu
- Git nainstalovaný na vašem systému
- Python 3.7+ a Jupyter nainstalovaný
- Node.js a npm (pro příspěvky do aplikace pro kvízy)
- Znalost struktury kurikula
Podrobné pokyny k nastavení najdete v INSTALLATION.md.
Fork a klonování
- Forkněte repozitář na GitHubu
- Klonujte svůj fork lokálně:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Přidejte upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Vytvoření větve
Vytvořte novou větev pro svou práci:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Konvence pojmenování větví:
feature/- Nové funkce nebo lekcefix/- Opravy chybdocs/- Změny v dokumentacirefactor/- Refaktorizace kódu
Pokyny pro přispívání
Pro obsah lekcí
Při přispívání lekcí nebo úpravách stávajících:
-
Dodržujte stávající strukturu:
- README.md s obsahem lekce
- Jupyter notebook s cvičeními
- Zadání (pokud je relevantní)
- Odkaz na před a po kvízy
-
Zahrňte tyto prvky:
- Jasné vzdělávací cíle
- Postupné vysvětlení
- Ukázky kódu s komentáři
- Cvičení pro procvičení
- Odkazy na další zdroje
-
Zajistěte přístupnost:
- Používejte jasný, jednoduchý jazyk
- Poskytněte alt text pro obrázky
- Zahrňte komentáře ke kódu
- Zvažte různé styly učení
Pro Jupyter notebooky
-
Vymažte všechny výstupy před commitováním:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Zahrňte markdown buňky s vysvětlením
-
Používejte konzistentní formátování:
# 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 -
Otestujte svůj notebook kompletně před odesláním
Pro Python kód
Dodržujte pokyny stylu 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)
Pro příspěvky do aplikace pro kvízy
Při úpravách aplikace pro kvízy:
-
Testujte lokálně:
cd quiz-app npm install npm run serve -
Spusťte linter:
npm run lint -
Úspěšně sestavte:
npm run build -
Dodržujte stylový průvodce Vue.js a stávající vzory
Pro překlady
Při přidávání nebo aktualizaci překladů:
- Dodržujte strukturu ve složce
translations/ - Použijte kód jazyka jako název složky (např.
frpro francouzštinu) - Zachovejte stejnou strukturu souborů jako anglická verze
- Aktualizujte odkazy na kvízy, aby obsahovaly parametr jazyka:
?loc=fr - Otestujte všechny odkazy a formátování
Proces pull requestu
Před odesláním
-
Aktualizujte svou větev s nejnovějšími změnami:
git fetch upstream git rebase upstream/main -
Otestujte své změny:
- Spusťte všechny upravené notebooky
- Otestujte aplikaci pro kvízy, pokud byla upravena
- Ověřte funkčnost všech odkazů
- Zkontrolujte pravopisné a gramatické chyby
-
Commitujte své změny:
git add . git commit -m "Brief description of changes"Pište jasné zprávy commitů:
- Používejte přítomný čas ("Přidat funkci" místo "Přidána funkce")
- Používejte imperativní způsob ("Přesuň kurzor na..." místo "Přesouvá kurzor na...")
- Omezte první řádek na 72 znaků
- Odkazujte na problémy a pull requesty, pokud je to relevantní
-
Pushněte na svůj fork:
git push origin feature/your-feature-name
Vytvoření pull requestu
- Přejděte na repozitář
- Klikněte na "Pull requests" → "New pull request"
- Klikněte na "compare across forks"
- Vyberte svůj fork a větev
- Klikněte na "Create pull request"
Formát názvu PR
Používejte jasné, popisné názvy podle tohoto formátu:
[Component] Brief description
Příklady:
[Lekce 7] Oprava chyby importu v Python notebooku[Aplikace pro kvízy] Přidání německého překladu[Dokumentace] Aktualizace README s novými předpoklady[Oprava] Oprava cesty k datům v lekci vizualizace
Popis PR
Do popisu PR zahrňte:
- Co: Jaké změny jste provedli?
- Proč: Proč jsou tyto změny nutné?
- Jak: Jak jste změny implementovali?
- Testování: Jak jste změny otestovali?
- Snímky obrazovky: Přidejte snímky obrazovky pro vizuální změny
- Související problémy: Odkaz na související problémy (např. "Fixes #123")
Proces recenze
- Automatické kontroly budou spuštěny na vašem PR
- Správci zkontrolují váš příspěvek
- Zpracujte zpětnou vazbu vytvořením dalších commitů
- Po schválení správce sloučí váš PR
Po sloučení vašeho PR
-
Smažte svou větev:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Aktualizujte svůj fork:
git checkout main git pull upstream main git push origin main
Pokyny pro styl
Markdown
- Používejte konzistentní úrovně nadpisů
- Vkládejte prázdné řádky mezi sekce
- Používejte bloky kódu s určením jazyka:
```python import pandas as pd ``` - Přidávejte alt text k obrázkům:
 - Udržujte rozumnou délku řádků (kolem 80-100 znaků)
Python
- Dodržujte stylový průvodce PEP 8
- Používejte smysluplné názvy proměnných
- Přidávejte docstringy k funkcím
- Zahrňte typové anotace, kde je to vhodné:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Dodržujte stylový průvodce Vue.js 2
- Používejte poskytnutou konfiguraci ESLint
- Pište modulární, znovupoužitelné komponenty
- Přidávejte komentáře ke složité logice
Organizace souborů
- Uchovávejte související soubory pohromadě
- Používejte popisné názvy souborů
- Dodržujte stávající strukturu adresářů
- Necommitujte zbytečné soubory (.DS_Store, .pyc, node_modules, atd.)
Dohoda o licenci přispěvatele
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje, abyste souhlasili s Dohodou o licenci přispěvatele (CLA), která deklaruje, že máte právo a skutečně udělujete práva k použití vašeho příspěvku. Podrobnosti najdete na https://cla.microsoft.com.
Když odešlete pull request, CLA-bot automaticky určí, zda je potřeba poskytnout CLA, a příslušně označí PR (např. štítek, komentář). Jednoduše postupujte podle pokynů poskytnutých botem. Toto budete muset udělat pouze jednou napříč všemi repozitáři, které používají naši CLA.
Dotazy?
- Zkontrolujte náš Discord kanál #data-science-for-beginners
- Připojte se k naší Discord komunitě
- Projděte existující problémy a pull requesty
Děkujeme!
Vaše příspěvky zlepšují toto kurikulum pro všechny. Děkujeme, že jste si našli čas na přispění!
Prohlášení:
Tento dokument byl přeložen pomocí služby AI pro překlad Co-op Translator. Ačkoli se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.