10 KiB
Bidrag til Data Science for Beginners
Tak for din interesse i at bidrage til Data Science for Beginners-kurset! Vi værdsætter bidrag fra fællesskabet.
Indholdsfortegnelse
- Adfærdskodeks
- Hvordan kan jeg bidrage?
- Kom godt i gang
- Retningslinjer for bidrag
- Pull Request-processen
- Stilretningslinjer
- Bidragsyderlicensaftale
Adfærdskodeks
Dette projekt har vedtaget Microsoft Open Source Code of Conduct. For mere information, se Code of Conduct FAQ eller kontakt opencode@microsoft.com med yderligere spørgsmål eller kommentarer.
Hvordan kan jeg bidrage?
Rapportering af fejl
Før du opretter fejlrapporter, skal du tjekke de eksisterende issues for at undgå dubletter. Når du opretter en fejlrapport, skal du inkludere så mange detaljer som muligt:
- Brug en klar og beskrivende titel
- Beskriv de præcise trin for at genskabe problemet
- Giv specifikke eksempler (kodeudsnit, skærmbilleder)
- Beskriv den observerede adfærd og hvad du forventede
- Inkluder detaljer om din arbejdsmiljø (OS, Python-version, browser)
Foreslå forbedringer
Forslag til forbedringer er velkomne! Når du foreslår forbedringer:
- Brug en klar og beskrivende titel
- Giv en detaljeret beskrivelse af den foreslåede forbedring
- Forklar, hvorfor denne forbedring ville være nyttig
- List eventuelle lignende funktioner i andre projekter, hvis relevant
Bidrag til dokumentation
Forbedringer af dokumentationen er altid værdsat:
- Ret stavefejl og grammatiske fejl
- Forbedr forklaringers klarhed
- Tilføj manglende dokumentation
- Opdater forældet information
- Tilføj eksempler eller brugsscenarier
Bidrag med kode
Vi byder kodebidrag velkommen, herunder:
- Nye lektioner eller øvelser
- Fejlrettelser
- Forbedringer af eksisterende notebooks
- Nye datasæt eller eksempler
- Forbedringer af quiz-applikationen
Kom godt i gang
Forudsætninger
Før du bidrager, skal du sikre dig, at du har:
- En GitHub-konto
- Git installeret på dit system
- Python 3.7+ og Jupyter installeret
- Node.js og npm (til bidrag til quiz-appen)
- Kendskab til kursusstrukturen
Se INSTALLATION.md for detaljerede installationsinstruktioner.
Fork og klon
- Fork repository på GitHub
- Klon din fork lokalt:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Tilføj upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Opret en branch
Opret en ny branch til dit arbejde:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Branch-navnekonventioner:
feature/- Nye funktioner eller lektionerfix/- Fejlrettelserdocs/- Dokumentationsændringerrefactor/- Kodeomstrukturering
Retningslinjer for bidrag
For lektionsindhold
Når du bidrager med lektioner eller ændrer eksisterende:
-
Følg den eksisterende struktur:
- README.md med lektionsindhold
- Jupyter-notebook med øvelser
- Opgave (hvis relevant)
- Link til før- og efterquizzer
-
Inkluder disse elementer:
- Klare læringsmål
- Trinvise forklaringer
- Kodeeksempler med kommentarer
- Øvelser til praksis
- Links til yderligere ressourcer
-
Sikre tilgængelighed:
- Brug klart og enkelt sprog
- Tilføj alt-tekst til billeder
- Inkluder kodekommentarer
- Tag hensyn til forskellige læringsstile
For Jupyter-notebooks
-
Ryd alle outputs før du committer:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Inkluder markdown-celler med forklaringer
-
Brug konsekvent formatering:
# 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 -
Test din notebook fuldstændigt før indsendelse
For Python-kode
Følg PEP 8 stilretningslinjer:
# 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)
For quiz-app-bidrag
Når du ændrer quiz-applikationen:
-
Test lokalt:
cd quiz-app npm install npm run serve -
Kør linter:
npm run lint -
Byg succesfuldt:
npm run build -
Følg Vue.js stilguide og eksisterende mønstre
For oversættelser
Når du tilføjer eller opdaterer oversættelser:
- Følg strukturen i
translations/-mappen - Brug sprogets kode som mappenavn (f.eks.
frfor fransk) - Bevar samme filstruktur som den engelske version
- Opdater quiz-links til at inkludere sprogparameter:
?loc=fr - Test alle links og formatering
Pull Request-processen
Før indsendelse
-
Opdater din branch med de nyeste ændringer:
git fetch upstream git rebase upstream/main -
Test dine ændringer:
- Kør alle ændrede notebooks
- Test quiz-appen, hvis den er ændret
- Verificer, at alle links fungerer
- Tjek for stave- og grammatikfejl
-
Commit dine ændringer:
git add . git commit -m "Brief description of changes"Skriv klare commit-beskeder:
- Brug nutid ("Tilføj funktion" ikke "Tilføjede funktion")
- Brug imperativ ("Flyt cursor til..." ikke "Flytter cursor til...")
- Begræns første linje til 72 tegn
- Referer til issues og pull requests, når det er relevant
-
Push til din fork:
git push origin feature/your-feature-name
Opret Pull Request
- Gå til repository
- Klik på "Pull requests" → "New pull request"
- Klik på "compare across forks"
- Vælg din fork og branch
- Klik på "Create pull request"
PR-titelformat
Brug klare, beskrivende titler efter dette format:
[Component] Brief description
Eksempler:
[Lektion 7] Ret Python-notebook importfejl[Quiz App] Tilføj tysk oversættelse[Docs] Opdater README med nye forudsætninger[Fix] Ret datasti i visualiseringslektion
PR-beskrivelse
Inkluder i din PR-beskrivelse:
- Hvad: Hvilke ændringer har du lavet?
- Hvorfor: Hvorfor er disse ændringer nødvendige?
- Hvordan: Hvordan har du implementeret ændringerne?
- Test: Hvordan har du testet ændringerne?
- Skærmbilleder: Inkluder skærmbilleder for visuelle ændringer
- Relaterede issues: Link til relaterede issues (f.eks. "Fixes #123")
Review-processen
- Automatiske checks vil køre på din PR
- Maintainers vil gennemgå dit bidrag
- Imødekom feedback ved at lave yderligere commits
- Når det er godkendt, vil en maintainer merge din PR
Efter din PR er merged
-
Slet din branch:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Opdater din fork:
git checkout main git pull upstream main git push origin main
Stilretningslinjer
Markdown
- Brug konsekvente overskriftsniveauer
- Inkluder blanke linjer mellem sektioner
- Brug kodeblokke med sprogangivelser:
```python import pandas as pd ``` - Tilføj alt-tekst til billeder:
 - Hold linjelængder rimelige (omkring 80-100 tegn)
Python
- Følg PEP 8 stilguide
- Brug meningsfulde variabelnavne
- Tilføj docstrings til funktioner
- Inkluder type hints, hvor det er passende:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Følg Vue.js 2 stilguide
- Brug den medfølgende ESLint-konfiguration
- Skriv modulære, genanvendelige komponenter
- Tilføj kommentarer til kompleks logik
Filorganisering
- Hold relaterede filer samlet
- Brug beskrivende filnavne
- Følg den eksisterende mappestruktur
- Commit ikke unødvendige filer (.DS_Store, .pyc, node_modules, etc.)
Bidragsyderlicensaftale
Dette projekt byder bidrag og forslag velkommen. De fleste bidrag kræver, at du accepterer en Bidragsyderlicensaftale (CLA), der erklærer, at du har retten til, og faktisk giver os rettighederne til at bruge dit bidrag. For detaljer, besøg https://cla.microsoft.com.
Når du indsender en pull request, vil en CLA-bot automatisk afgøre, om du skal give en CLA og dekorere PR'en passende (f.eks. label, kommentar). Følg blot instruktionerne fra botten. Du skal kun gøre dette én gang på tværs af alle repositories, der bruger vores CLA.
Spørgsmål?
- Tjek vores Discord-kanal #data-science-for-beginners
- Deltag i vores Discord-fællesskab
- Gennemgå eksisterende issues og pull requests
Tak!
Dine bidrag gør dette kursus bedre for alle. Tak fordi du tager dig tid til at bidrage!
Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på nøjagtighed, skal det bemærkes, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for misforståelser eller fejltolkninger, der opstår som følge af brugen af denne oversættelse.