11 KiB
Panustamine algajate andmeteaduse projekti
Täname, et olete huvitatud panustamisest algajate andmeteaduse õppekavasse! Me tervitame kogukonna panuseid.
Sisukord
- Käitumisjuhend
- Kuidas saan panustada?
- Alustamine
- Panustamise juhised
- Pull Request'i protsess
- Stiilijuhised
- Panustaja litsentsileping
Käitumisjuhend
See projekt järgib Microsofti avatud lähtekoodi käitumisjuhendit.
Lisateabe saamiseks vaadake käitumisjuhendi KKK-d
või võtke ühendust opencode@microsoft.com, kui teil on lisaküsimusi või kommentaare.
Kuidas saan panustada?
Vigade raporteerimine
Enne vigade raportite loomist kontrollige olemasolevaid probleeme, et vältida duplikaate. Kui loote veateate, lisage võimalikult palju üksikasju:
- Kasutage selget ja kirjeldavat pealkirja
- Kirjeldage täpseid samme probleemi taastamiseks
- Esitage konkreetseid näiteid (koodilõigud, ekraanipildid)
- Kirjeldage täheldatud käitumist ja oodatud tulemust
- Lisage oma keskkonna üksikasjad (OS, Python versioon, brauser)
Paranduste ettepanekud
Paranduste ettepanekud on teretulnud! Paranduste ettepanekute tegemisel:
- Kasutage selget ja kirjeldavat pealkirja
- Esitage üksikasjalik kirjeldus soovitatud parandusest
- Selgitage, miks see parandus oleks kasulik
- Loetlege sarnased funktsioonid teistes projektides, kui see on asjakohane
Dokumentatsiooni panustamine
Dokumentatsiooni täiustused on alati hinnatud:
- Parandage kirjavigu ja grammatikavigu
- Selgitage keerulisi teemasid selgemalt
- Lisage puuduvaid dokumente
- Uuendage vananenud teavet
- Lisage näiteid või kasutusjuhtumeid
Koodi panustamine
Me tervitame koodipanuseid, sealhulgas:
- Uued õppetunnid või harjutused
- Vigade parandused
- Olemasolevate märkmike täiustused
- Uued andmekogumid või näited
- Viktoriinirakenduse täiustused
Alustamine
Eeltingimused
Enne panustamist veenduge, et teil on:
- GitHubi konto
- Git installitud teie süsteemis
- Python 3.7+ ja Jupyter installitud
- Node.js ja npm (viktoriinirakenduse panuste jaoks)
- Tutvumine õppekava struktuuriga
Vaadake INSTALLATION.md üksikasjalike seadistusjuhiste jaoks.
Forkimine ja kloonimine
-
Forkige repositoorium GitHubis
-
Kloonige oma fork lokaalselt:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
Lisage upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Haru loomine
Looge oma töö jaoks uus haru:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Haru nimetamise konventsioonid:
feature/- Uued funktsioonid või õppetunnidfix/- Vigade paranduseddocs/- Dokumentatsiooni muudatusedrefactor/- Koodi refaktoreerimine
Panustamise juhised
Õppetundide sisu jaoks
Õppetundide loomisel või olemasolevate muutmisel:
-
Järgige olemasolevat struktuuri:
- README.md õppetunni sisuga
- Jupyteri märkmik harjutustega
- Ülesanne (kui kohaldatav)
- Lingid eel- ja järelviktoriinidele
-
Lisage järgmised elemendid:
- Selged õpieesmärgid
- Samm-sammult selgitused
- Koodinäited kommentaaridega
- Harjutused praktiseerimiseks
- Lingid täiendavatele ressurssidele
-
Tagage ligipääsetavus:
- Kasutage selget ja lihtsat keelt
- Lisage piltidele alt-tekst
- Lisage koodikommentaarid
- Arvestage erinevate õppimisstiilidega
Jupyteri märkmike jaoks
-
Tühjendage kõik väljundid enne commit'i:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Lisage markdown-rakud selgitustega
-
Kasutage ühtlast vormindust:
# 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 -
Testige oma märkmikku täielikult enne esitamist
Python-koodi jaoks
Järgige PEP 8 stiilijuhiseid:
# 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)
Viktoriinirakenduse panuste jaoks
Viktoriinirakenduse muutmisel:
-
Testige lokaalselt:
cd quiz-app npm install npm run serve -
Käivitage linter:
npm run lint -
Ehitage edukalt:
npm run build -
Järgige Vue.js stiilijuhendit ja olemasolevaid mustreid
Tõlgete jaoks
Tõlgete lisamisel või uuendamisel:
- Järgige struktuuri kaustas
translations/ - Kasutage keelekoodi kausta nimena (nt
frprantsuse keele jaoks) - Säilitage sama failistruktuur nagu ingliskeelses versioonis
- Uuendage viktoriinilinke, et lisada keeleparameeter:
?loc=fr - Testige kõiki linke ja vormindust
Pull Request'i protsess
Enne esitamist
-
Uuendage oma haru viimaste muudatustega:
git fetch upstream git rebase upstream/main -
Testige oma muudatusi:
- Käivitage kõik muudetud märkmikud
- Testige viktoriinirakendust, kui seda muudeti
- Kontrollige, kas kõik lingid töötavad
- Kontrollige õigekirja ja grammatikavigu
-
Commitige oma muudatused:
git add . git commit -m "Brief description of changes"Kirjutage selged commit-sõnumid:
- Kasutage olevikuvormi ("Lisa funktsioon" mitte "Lisatud funktsioon")
- Kasutage käskivat vormi ("Liiguta kursor..." mitte "Liigutab kursorit...")
- Piirake esimene rida 72 tähemärgiga
- Viidake probleemidele ja pull request'idele, kui asjakohane
-
Pushige oma fork'i:
git push origin feature/your-feature-name
Pull Request'i loomine
- Minge repositooriumisse
- Klõpsake "Pull requests" → "New pull request"
- Klõpsake "compare across forks"
- Valige oma fork ja haru
- Klõpsake "Create pull request"
PR-i pealkirja formaat
Kasutage selgeid ja kirjeldavaid pealkirju, järgides seda formaati:
[Component] Brief description
Näited:
[Lesson 7] Paranda Python märkmiku importimisviga[Quiz App] Lisa saksa keele tõlge[Docs] Uuenda README uute eeltingimustega[Fix] Paranda andmete tee visualiseerimise õppetunnis
PR-i kirjeldus
Lisage oma PR-i kirjeldusse:
- Mis: Milliseid muudatusi te tegite?
- Miks: Miks need muudatused on vajalikud?
- Kuidas: Kuidas te muudatused rakendasite?
- Testimine: Kuidas te muudatusi testisite?
- Ekraanipildid: Lisage ekraanipildid visuaalsete muudatuste jaoks
- Seotud probleemid: Linkige seotud probleemid (nt "Fixes #123")
Ülevaatusprotsess
- Automaatkontrollid käivitatakse teie PR-il
- Hooldajad vaatavad üle teie panuse
- Tegelege tagasisidega, tehes täiendavaid commit'e
- Kui heaks kiidetud, hooldaja ühendab teie PR-i
Pärast PR-i ühendamist
-
Kustutage oma haru:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Uuendage oma fork:
git checkout main git pull upstream main git push origin main
Stiilijuhised
Markdown
-
Kasutage ühtlaseid pealkirjatasemeid
-
Lisage tühjad read sektsioonide vahele
-
Kasutage koodiblokke koos keele määratlustega:
```python import pandas as pd ``` -
Lisage piltidele alt-tekst:
 -
Hoidke rea pikkused mõistlikud (umbes 80-100 tähemärki)
Python
- Järgige PEP 8 stiilijuhendit
- Kasutage tähenduslikke muutujanimesid
- Lisage funktsioonidele docstring'id
- Lisage tüübiviited, kui see on asjakohane:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Järgige Vue.js 2 stiilijuhendit
- Kasutage pakutud ESLint konfiguratsiooni
- Kirjutage modulaarseid, korduvkasutatavaid komponente
- Lisage kommentaare keeruka loogika jaoks
Failide organiseerimine
- Hoidke seotud failid koos
- Kasutage kirjeldavaid failinimesid
- Järgige olemasolevat kataloogistruktuuri
- Ärge commitige mittevajalikke faile (.DS_Store, .pyc, node_modules jne)
Panustaja litsentsileping
See projekt tervitab panuseid ja ettepanekuid. Enamik panuseid nõuab, et te nõustuksite
panustaja litsentsilepinguga (CLA), mis kinnitab, et teil on õigus ja tegelikult annate meile õigused teie panuse kasutamiseks. Üksikasjade saamiseks külastage
https://cla.microsoft.com.
Kui esitate pull request'i, määrab CLA-bot automaatselt, kas peate
esitama CLA ja märgistab PR-i vastavalt (nt silt, kommentaar). Järgige lihtsalt
boti antud juhiseid. Seda peate tegema ainult üks kord kõigi meie CLA-d kasutavate repositooriumide puhul.
Küsimused?
- Kontrollige meie Discordi kanalit #data-science-for-beginners
- Liituge meie Discordi kogukonnaga
- Vaadake olemasolevaid probleeme ja pull request'e
Aitäh!
Teie panused muudavad selle õppekava kõigile paremaks. Täname, et võtate aega panustamiseks!
Lahtiütlus:
See dokument on tõlgitud AI tõlketeenuse Co-op Translator abil. Kuigi püüame tagada täpsust, palume arvestada, et automaatsed tõlked võivad sisaldada vigu või ebatäpsusi. Algne dokument selle algses keeles tuleks pidada autoriteetseks allikaks. Olulise teabe puhul soovitame kasutada professionaalset inimtõlget. Me ei vastuta selle tõlke kasutamisest tulenevate arusaamatuste või valesti tõlgenduste eest.