11 KiB
Prisidėjimas prie „Data Science for Beginners“
Ačiū, kad domitės prisidėjimu prie „Data Science for Beginners“ mokymo programos! Mes džiaugiamės bendruomenės indėliu.
Turinys
- Elgesio kodeksas
- Kaip galiu prisidėti?
- Pradžia
- Prisidėjimo gairės
- „Pull Request“ procesas
- Stiliaus gairės
- Autoriaus licencijos sutartis
Elgesio kodeksas
Šis projektas laikosi Microsoft atvirojo kodo elgesio kodekso.
Daugiau informacijos rasite Elgesio kodekso DUK
arba susisiekite el. paštu opencode@microsoft.com, jei turite papildomų klausimų ar komentarų.
Kaip galiu prisidėti?
Klaidų pranešimas
Prieš kurdami klaidų pranešimus, patikrinkite esamus klausimus, kad išvengtumėte pasikartojimų. Kurdamas klaidų pranešimą, pateikite kuo daugiau detalių:
- Naudokite aiškų ir aprašomąjį pavadinimą
- Aprašykite tikslius veiksmus, kaip atkurti problemą
- Pateikite konkrečius pavyzdžius (kodo fragmentus, ekrano nuotraukas)
- Aprašykite stebėtą elgesį ir tai, ko tikėjotės
- Įtraukite savo aplinkos detales (OS, Python versija, naršyklė)
Pasiūlymų teikimas
Pasiūlymai dėl patobulinimų visada laukiami! Teikdami pasiūlymus:
- Naudokite aiškų ir aprašomąjį pavadinimą
- Pateikite išsamų pasiūlymo aprašymą
- Paaiškinkite, kodėl šis patobulinimas būtų naudingas
- Nurodykite panašias funkcijas kituose projektuose, jei taikoma
Prisidėjimas prie dokumentacijos
Dokumentacijos patobulinimai visada vertinami:
- Taisykite rašybos ir gramatikos klaidas
- Gerinkite paaiškinimų aiškumą
- Pridėkite trūkstamą dokumentaciją
- Atnaujinkite pasenusią informaciją
- Pridėkite pavyzdžių ar naudojimo atvejų
Kodo prisidėjimas
Mes laukiame kodo indėlio, įskaitant:
- Naujas pamokas ar pratimus
- Klaidų taisymus
- Esamų užrašų patobulinimus
- Naujus duomenų rinkinius ar pavyzdžius
- Klausimų programėlės patobulinimus
Pradžia
Būtinos sąlygos
Prieš prisidedant, įsitikinkite, kad turite:
- GitHub paskyrą
- Git įdiegtą jūsų sistemoje
- Python 3.7+ ir Jupyter įdiegtą
- Node.js ir npm (klausimų programėlės indėliui)
- Susipažinimą su mokymo programos struktūra
Žr. INSTALLATION.md išsamias diegimo instrukcijas.
Fork ir Clone
- Fork projektą GitHub
- Clone savo fork lokaliai:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Pridėkite upstream nuotolinį:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Sukurkite šaką
Sukurkite naują šaką savo darbui:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Šakų pavadinimų konvencijos:
feature/- Naujos funkcijos ar pamokosfix/- Klaidų taisymaidocs/- Dokumentacijos pakeitimairefactor/- Kodo pertvarkymas
Prisidėjimo gairės
Pamokų turiniui
Prisidedant pamokomis ar keičiant esamas:
-
Laikykitės esamos struktūros:
- README.md su pamokos turiniu
- Jupyter užrašų knygelė su pratimais
- Užduotis (jei taikoma)
- Nuoroda į prieš ir po klausimus
-
Įtraukite šiuos elementus:
- Aiškius mokymosi tikslus
- Žingsnis po žingsnio paaiškinimus
- Kodo pavyzdžius su komentarais
- Pratimus praktikai
- Nuorodas į papildomus išteklius
-
Užtikrinkite prieinamumą:
- Naudokite aiškią, paprastą kalbą
- Pateikite alternatyvų tekstą vaizdams
- Įtraukite kodo komentarus
- Atsižvelkite į skirtingus mokymosi stilius
Jupyter užrašų knygelėms
-
Išvalykite visus išvesties duomenis prieš įsipareigojimą:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Įtraukite markdown langelius su paaiškinimais
-
Naudokite nuoseklų formatavimą:
# 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 -
Išbandykite savo užrašų knygelę visiškai prieš pateikimą
Python kodui
Laikykitės PEP 8 stiliaus gairių:
# 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)
Klausimų programėlės indėliui
Keičiant klausimų programėlę:
-
Išbandykite lokaliai:
cd quiz-app npm install npm run serve -
Paleiskite linterį:
npm run lint -
Sėkmingai sukurkite:
npm run build -
Laikykitės Vue.js stiliaus gairių ir esamų šablonų
Vertimams
Pridedant ar atnaujinant vertimus:
- Laikykitės struktūros aplanke
translations/ - Naudokite kalbos kodą kaip aplanko pavadinimą (pvz.,
frprancūzų kalbai) - Išlaikykite tą pačią failų struktūrą kaip anglų versijoje
- Atnaujinkite klausimų nuorodas, kad įtrauktumėte kalbos parametrą:
?loc=fr - Išbandykite visas nuorodas ir formatavimą
„Pull Request“ procesas
Prieš pateikimą
-
Atnaujinkite savo šaką su naujausiais pakeitimais:
git fetch upstream git rebase upstream/main -
Išbandykite savo pakeitimus:
- Paleiskite visus pakeistus užrašus
- Išbandykite klausimų programėlę, jei ji buvo pakeista
- Patikrinkite, ar visos nuorodos veikia
- Patikrinkite rašybos ir gramatikos klaidas
-
Įsipareigokite savo pakeitimus:
git add . git commit -m "Brief description of changes"Rašykite aiškius įsipareigojimų pranešimus:
- Naudokite esamą laiką („Pridėti funkciją“, o ne „Pridėta funkcija“)
- Naudokite imperatyvų toną („Perkelti žymeklį į...“, o ne „Perkelia žymeklį į...“)
- Pirmą eilutę apribokite iki 72 simbolių
- Nurodykite klausimus ir „pull request“, jei taikoma
-
Įkelkite į savo fork:
git push origin feature/your-feature-name
„Pull Request“ kūrimas
- Eikite į projektą
- Spustelėkite „Pull requests“ → „New pull request“
- Spustelėkite „compare across forks“
- Pasirinkite savo fork ir šaką
- Spustelėkite „Create pull request“
PR pavadinimo formatas
Naudokite aiškius, aprašomuosius pavadinimus pagal šį formatą:
[Component] Brief description
Pavyzdžiai:
[Pamoka 7] Taisyti Python užrašų knygelės importavimo klaidą[Klausimų programėlė] Pridėti vokiečių kalbos vertimą[Dokumentai] Atnaujinti README su naujomis būtinosiomis sąlygomis[Taisyti] Ištaisyti duomenų kelią vizualizacijos pamokoje
PR aprašymas
Įtraukite į savo PR aprašymą:
- Kas: Kokius pakeitimus atlikote?
- Kodėl: Kodėl šie pakeitimai būtini?
- Kaip: Kaip įgyvendinote pakeitimus?
- Testavimas: Kaip išbandėte pakeitimus?
- Ekrano nuotraukos: Įtraukite ekrano nuotraukas vizualiems pakeitimams
- Susiję klausimai: Nuoroda į susijusius klausimus (pvz., „Fixes #123“)
Peržiūros procesas
- Automatiniai patikrinimai bus vykdomi jūsų PR
- Prižiūrėtojai peržiūrės jūsų indėlį
- Atsakykite į atsiliepimus, atlikdami papildomus įsipareigojimus
- Kai bus patvirtinta, prižiūrėtojas sujungs jūsų PR
Po PR sujungimo
-
Ištrinkite savo šaką:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Atnaujinkite savo fork:
git checkout main git pull upstream main git push origin main
Stiliaus gairės
Markdown
- Naudokite nuoseklius antraščių lygius
- Įtraukite tuščias eilutes tarp skyrių
- Naudokite kodo blokus su kalbos specifikatoriais:
```python import pandas as pd ``` - Pridėkite alternatyvų tekstą vaizdams:
 - Išlaikykite pagrįstą eilutės ilgį (apie 80–100 simbolių)
Python
- Laikykitės PEP 8 stiliaus gairių
- Naudokite prasmingus kintamųjų pavadinimus
- Pridėkite docstring funkcijoms
- Įtraukite tipų užuominas, kur tinkama:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Laikykitės Vue.js 2 stiliaus gairių
- Naudokite pateiktą ESLint konfigūraciją
- Rašykite modulius, pakartotinai naudojamus komponentus
- Pridėkite komentarus sudėtingai logikai
Failų organizavimas
- Laikykite susijusius failus kartu
- Naudokite aprašomuosius failų pavadinimus
- Laikykitės esamos katalogų struktūros
- Neįsipareigokite nereikalingų failų (.DS_Store, .pyc, node_modules ir kt.)
Autoriaus licencijos sutartis
Šis projektas priima indėlius ir pasiūlymus. Dauguma indėlių reikalauja, kad jūs
sutiktumėte su Autoriaus licencijos sutartimi (CLA), patvirtinančia, kad turite teisę
ir iš tikrųjų suteikiate mums teisę naudoti jūsų indėlį. Daugiau informacijos rasite
https://cla.microsoft.com.
Kai pateiksite „pull request“, CLA-bot automatiškai nustatys, ar jums reikia
pateikti CLA, ir atitinkamai pažymės PR (pvz., etikete, komentaru). Tiesiog vykdykite
bot pateiktas instrukcijas. Tai reikės padaryti tik vieną kartą visiems projektams, naudojantiems mūsų CLA.
Klausimai?
- Patikrinkite mūsų Discord kanalo #data-science-for-beginners
- Prisijunkite prie mūsų Discord bendruomenės
- Peržiūrėkite esamus klausimus ir pull requests
Ačiū!
Jūsų indėlis daro šią mokymo programą geresnę visiems. Ačiū, kad skiriate laiko prisidėti!
Atsakomybės atsisakymas:
Šis dokumentas buvo išverstas naudojant AI vertimo paslaugą Co-op Translator. Nors siekiame tikslumo, prašome atkreipti dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama profesionali žmogaus vertimo paslauga. Mes neprisiimame atsakomybės už nesusipratimus ar neteisingus aiškinimus, kilusius dėl šio vertimo naudojimo.