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.
354 lines
10 KiB
354 lines
10 KiB
# Prispevanje k Data Science za začetnike
|
|
|
|
Hvala za vaše zanimanje za prispevanje k učnemu načrtu Data Science za začetnike! Veseli smo prispevkov iz skupnosti.
|
|
|
|
## Kazalo vsebine
|
|
|
|
- [Kodeks ravnanja](../..)
|
|
- [Kako lahko prispevam?](../..)
|
|
- [Začetek](../..)
|
|
- [Smernice za prispevanje](../..)
|
|
- [Postopek za Pull Request](../..)
|
|
- [Slogovne smernice](../..)
|
|
- [Dogovor o licenciranju prispevkov](../..)
|
|
|
|
## Kodeks ravnanja
|
|
|
|
Ta projekt je sprejel [Microsoftov kodeks ravnanja za odprto kodo](https://opensource.microsoft.com/codeofconduct/).
|
|
Za več informacij si oglejte [pogosta vprašanja o kodeksu ravnanja](https://opensource.microsoft.com/codeofconduct/faq/)
|
|
ali se obrnite na [opencode@microsoft.com](mailto:opencode@microsoft.com) za dodatna vprašanja ali komentarje.
|
|
|
|
## Kako lahko prispevam?
|
|
|
|
### Poročanje o napakah
|
|
|
|
Preden ustvarite poročilo o napaki, preverite obstoječe težave, da se izognete podvajanju. Ko ustvarjate poročilo o napaki, vključite čim več podrobnosti:
|
|
|
|
- **Uporabite jasen in opisni naslov**
|
|
- **Opišite natančne korake za reprodukcijo težave**
|
|
- **Predložite konkretne primere** (odlomki kode, posnetki zaslona)
|
|
- **Opišite vedenje, ki ste ga opazili, in kaj ste pričakovali**
|
|
- **Vključite podrobnosti o vašem okolju** (OS, različica Pythona, brskalnik)
|
|
|
|
### Predlaganje izboljšav
|
|
|
|
Predlogi za izboljšave so dobrodošli! Pri predlaganju izboljšav:
|
|
|
|
- **Uporabite jasen in opisni naslov**
|
|
- **Predložite podroben opis predlagane izboljšave**
|
|
- **Razložite, zakaj bi bila ta izboljšava koristna**
|
|
- **Navedite podobne funkcije v drugih projektih, če je primerno**
|
|
|
|
### Prispevanje k dokumentaciji
|
|
|
|
Izboljšave dokumentacije so vedno cenjene:
|
|
|
|
- **Popravite tipkarske in slovnične napake**
|
|
- **Izboljšajte jasnost razlag**
|
|
- **Dodajte manjkajočo dokumentacijo**
|
|
- **Posodobite zastarele informacije**
|
|
- **Dodajte primere ali primere uporabe**
|
|
|
|
### Prispevanje kode
|
|
|
|
Veseli smo prispevkov kode, vključno z:
|
|
|
|
- **Novimi lekcijami ali vajami**
|
|
- **Popravki napak**
|
|
- **Izboljšavami obstoječih zvezkov**
|
|
- **Novimi podatkovnimi nabori ali primeri**
|
|
- **Izboljšavami aplikacije za kvize**
|
|
|
|
## Začetek
|
|
|
|
### Predpogoji
|
|
|
|
Pred prispevanjem se prepričajte, da imate:
|
|
|
|
1. GitHub račun
|
|
2. Git nameščen na vašem sistemu
|
|
3. Python 3.7+ in Jupyter nameščen
|
|
4. Node.js in npm (za prispevke k aplikaciji za kvize)
|
|
5. Poznavanje strukture učnega načrta
|
|
|
|
Oglejte si [INSTALLATION.md](INSTALLATION.md) za podrobna navodila za nastavitev.
|
|
|
|
### Fork in kloniranje
|
|
|
|
1. **Forkajte repozitorij** na GitHubu
|
|
2. **Klonirajte svoj fork** lokalno:
|
|
```bash
|
|
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
|
|
cd Data-Science-For-Beginners
|
|
```
|
|
3. **Dodajte upstream remote**:
|
|
```bash
|
|
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
|
|
```
|
|
|
|
### Ustvarite vejo
|
|
|
|
Ustvarite novo vejo za svoje delo:
|
|
|
|
```bash
|
|
git checkout -b feature/your-feature-name
|
|
# or
|
|
git checkout -b fix/your-bug-fix
|
|
```
|
|
|
|
Konvencije poimenovanja vej:
|
|
- `feature/` - Nove funkcije ali lekcije
|
|
- `fix/` - Popravki napak
|
|
- `docs/` - Spremembe dokumentacije
|
|
- `refactor/` - Prestrukturiranje kode
|
|
|
|
## Smernice za prispevanje
|
|
|
|
### Za vsebino lekcij
|
|
|
|
Pri prispevanju lekcij ali spreminjanju obstoječih:
|
|
|
|
1. **Sledite obstoječi strukturi**:
|
|
- README.md z vsebino lekcije
|
|
- Jupyter zvezek z vajami
|
|
- Naloga (če je primerno)
|
|
- Povezava na predkviz in postkviz
|
|
|
|
2. **Vključite te elemente**:
|
|
- Jasni učni cilji
|
|
- Razlage korak za korakom
|
|
- Primeri kode s komentarji
|
|
- Vaje za prakso
|
|
- Povezave do dodatnih virov
|
|
|
|
3. **Zagotovite dostopnost**:
|
|
- Uporabite jasno, preprosto jezikovno izražanje
|
|
- Dodajte alt besedilo za slike
|
|
- Vključite komentarje v kodo
|
|
- Upoštevajte različne stile učenja
|
|
|
|
### Za Jupyter zvezke
|
|
|
|
1. **Počistite vse izhode** pred oddajo:
|
|
```bash
|
|
jupyter nbconvert --clear-output --inplace notebook.ipynb
|
|
```
|
|
|
|
2. **Vključite markdown celice** z razlagami
|
|
|
|
3. **Uporabite dosledno oblikovanje**:
|
|
```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. **Popolnoma preizkusite svoj zvezek** pred oddajo
|
|
|
|
### Za Python kodo
|
|
|
|
Sledite smernicam sloga [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)
|
|
```
|
|
|
|
### Za prispevke k aplikaciji za kvize
|
|
|
|
Pri spreminjanju aplikacije za kvize:
|
|
|
|
1. **Preizkusite lokalno**:
|
|
```bash
|
|
cd quiz-app
|
|
npm install
|
|
npm run serve
|
|
```
|
|
|
|
2. **Zaženite linter**:
|
|
```bash
|
|
npm run lint
|
|
```
|
|
|
|
3. **Uspešno zgradite**:
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
4. **Sledite smernicam sloga Vue.js** in obstoječim vzorcem
|
|
|
|
### Za prevode
|
|
|
|
Pri dodajanju ali posodabljanju prevodov:
|
|
|
|
1. Sledite strukturi v mapi `translations/`
|
|
2. Uporabite kodo jezika kot ime mape (npr. `fr` za francoščino)
|
|
3. Ohranite enako strukturo datotek kot angleška različica
|
|
4. Posodobite povezave kvizov, da vključujejo parameter jezika: `?loc=fr`
|
|
5. Preizkusite vse povezave in oblikovanje
|
|
|
|
## Postopek za Pull Request
|
|
|
|
### Pred oddajo
|
|
|
|
1. **Posodobite svojo vejo** z najnovejšimi spremembami:
|
|
```bash
|
|
git fetch upstream
|
|
git rebase upstream/main
|
|
```
|
|
|
|
2. **Preizkusite svoje spremembe**:
|
|
- Zaženite vse spremenjene zvezke
|
|
- Preizkusite aplikacijo za kvize, če je bila spremenjena
|
|
- Preverite, ali vse povezave delujejo
|
|
- Preverite črkovanje in slovnične napake
|
|
|
|
3. **Zavežite svoje spremembe**:
|
|
```bash
|
|
git add .
|
|
git commit -m "Brief description of changes"
|
|
```
|
|
|
|
Pišite jasna sporočila o zavezah:
|
|
- Uporabite sedanjik ("Dodaj funkcijo" ne "Dodana funkcija")
|
|
- Uporabite imperativni način ("Premakni kazalec na..." ne "Premakne kazalec na...")
|
|
- Omejite prvo vrstico na 72 znakov
|
|
- Navedite težave in pull requeste, kjer je to primerno
|
|
|
|
4. **Potisnite na svoj fork**:
|
|
```bash
|
|
git push origin feature/your-feature-name
|
|
```
|
|
|
|
### Ustvarjanje Pull Requesta
|
|
|
|
1. Pojdite na [repozitorij](https://github.com/microsoft/Data-Science-For-Beginners)
|
|
2. Kliknite "Pull requests" → "New pull request"
|
|
3. Kliknite "compare across forks"
|
|
4. Izberite svoj fork in vejo
|
|
5. Kliknite "Create pull request"
|
|
|
|
### Format naslova PR
|
|
|
|
Uporabite jasne, opisne naslove po tem formatu:
|
|
|
|
```
|
|
[Component] Brief description
|
|
```
|
|
|
|
Primeri:
|
|
- `[Lekcija 7] Popravi napako pri uvozu Python zvezka`
|
|
- `[Aplikacija za kvize] Dodaj nemški prevod`
|
|
- `[Dokumentacija] Posodobi README z novimi predpogoji`
|
|
- `[Popravek] Popravi pot podatkov v lekciji o vizualizaciji`
|
|
|
|
### Opis PR
|
|
|
|
Vključite v opis PR:
|
|
|
|
- **Kaj**: Katere spremembe ste naredili?
|
|
- **Zakaj**: Zakaj so te spremembe potrebne?
|
|
- **Kako**: Kako ste izvedli spremembe?
|
|
- **Testiranje**: Kako ste preizkusili spremembe?
|
|
- **Posnetki zaslona**: Vključite posnetke zaslona za vizualne spremembe
|
|
- **Povezane težave**: Povezava na povezane težave (npr. "Fixes #123")
|
|
|
|
### Postopek pregleda
|
|
|
|
1. **Avtomatizirani pregledi** bodo izvedeni na vašem PR
|
|
2. **Vzdrževalci bodo pregledali** vaš prispevek
|
|
3. **Odpravite povratne informacije** z dodatnimi zavezami
|
|
4. Ko bo odobreno, bo **vzdrževalec združil** vaš PR
|
|
|
|
### Po združitvi vašega PR
|
|
|
|
1. Izbrišite svojo vejo:
|
|
```bash
|
|
git branch -d feature/your-feature-name
|
|
git push origin --delete feature/your-feature-name
|
|
```
|
|
|
|
2. Posodobite svoj fork:
|
|
```bash
|
|
git checkout main
|
|
git pull upstream main
|
|
git push origin main
|
|
```
|
|
|
|
## Slogovne smernice
|
|
|
|
### Markdown
|
|
|
|
- Uporabite dosledne ravni naslovov
|
|
- Vključite prazne vrstice med odseki
|
|
- Uporabite blok kode z določenimi jeziki:
|
|
````markdown
|
|
```python
|
|
import pandas as pd
|
|
```
|
|
````
|
|
- Dodajte alt besedilo slikam: ``
|
|
- Ohranjajte dolžino vrstic razumno (približno 80-100 znakov)
|
|
|
|
### Python
|
|
|
|
- Sledite smernicam sloga PEP 8
|
|
- Uporabite smiselna imena spremenljivk
|
|
- Dodajte docstrings funkcijam
|
|
- Vključite namige tipov, kjer je primerno:
|
|
```python
|
|
def process_data(df: pd.DataFrame) -> pd.DataFrame:
|
|
"""Process the input dataframe."""
|
|
return df
|
|
```
|
|
|
|
### JavaScript/Vue.js
|
|
|
|
- Sledite smernicam sloga Vue.js 2
|
|
- Uporabite konfiguracijo ESLint, ki je na voljo
|
|
- Pišite modularne, ponovno uporabne komponente
|
|
- Dodajte komentarje za kompleksno logiko
|
|
|
|
### Organizacija datotek
|
|
|
|
- Hranite povezane datoteke skupaj
|
|
- Uporabite opisna imena datotek
|
|
- Sledite obstoječi strukturi imenikov
|
|
- Ne zavezujte nepotrebnih datotek (.DS_Store, .pyc, node_modules itd.)
|
|
|
|
## Dogovor o licenciranju prispevkov
|
|
|
|
Ta projekt pozdravlja prispevke in predloge. Večina prispevkov zahteva, da se strinjate z Dogovorom o licenciranju prispevkov (CLA), ki potrjuje, da imate pravico in dejansko podeljujete pravice za uporabo vašega prispevka. Za podrobnosti obiščite https://cla.microsoft.com.
|
|
|
|
Ko oddate pull request, bo CLA-bot samodejno določil, ali morate predložiti CLA in ustrezno označil PR (npr. oznaka, komentar). Preprosto sledite navodilom, ki jih zagotovi bot. To boste morali storiti le enkrat za vse repozitorije, ki uporabljajo naš CLA.
|
|
|
|
## Vprašanja?
|
|
|
|
- Preverite naš [Discord kanal #data-science-for-beginners](https://aka.ms/ds4beginners/discord)
|
|
- Pridružite se naši [Discord skupnosti](https://aka.ms/ds4beginners/discord)
|
|
- Preglejte obstoječe [težave](https://github.com/microsoft/Data-Science-For-Beginners/issues) in [pull requeste](https://github.com/microsoft/Data-Science-For-Beginners/pulls)
|
|
|
|
## Hvala!
|
|
|
|
Vaši prispevki izboljšujejo ta učni načrt za vse. Hvala, ker ste si vzeli čas za prispevanje!
|
|
|
|
---
|
|
|
|
**Izjava o omejitvi odgovornosti**:
|
|
Ta dokument je bil preveden z uporabo storitve za prevajanje z umetno inteligenco [Co-op Translator](https://github.com/Azure/co-op-translator). Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem izvirnem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki izhajajo iz uporabe tega prevoda. |