11 KiB
Bidra til Data Science for Beginners
Takk for din interesse for å bidra til Data Science for Beginners-kurset! Vi ønsker bidrag fra fellesskapet velkommen.
Innholdsfortegnelse
- Regler for oppførsel
- Hvordan kan jeg bidra?
- Kom i gang
- Retningslinjer for bidrag
- Prosess for pull requests
- Stilretningslinjer
- Bidragsyterlisensavtale
Regler for oppførsel
Dette prosjektet har vedtatt Microsoft Open Source Code of Conduct.
For mer informasjon, se Code of Conduct FAQ
eller kontakt opencode@microsoft.com med eventuelle spørsmål eller kommentarer.
Hvordan kan jeg bidra?
Rapportere feil
Før du oppretter feilrapporter, sjekk eksisterende saker for å unngå duplikater. Når du lager en feilrapport, inkluder så mange detaljer som mulig:
- Bruk en klar og beskrivende tittel
- Beskriv de nøyaktige trinnene for å gjenskape problemet
- Gi spesifikke eksempler (kodebiter, skjermbilder)
- Beskriv oppførselen du observerte og hva du forventet
- Inkluder detaljer om miljøet ditt (OS, Python-versjon, nettleser)
Foreslå forbedringer
Forslag til forbedringer er velkomne! Når du foreslår forbedringer:
- Bruk en klar og beskrivende tittel
- Gi en detaljert beskrivelse av den foreslåtte forbedringen
- Forklar hvorfor denne forbedringen vil være nyttig
- List opp lignende funksjoner i andre prosjekter, hvis aktuelt
Bidra til dokumentasjon
Forbedringer av dokumentasjonen er alltid verdsatt:
- Rett opp skrivefeil og grammatiske feil
- Forbedre klarheten i forklaringer
- Legg til manglende dokumentasjon
- Oppdater utdatert informasjon
- Legg til eksempler eller brukstilfeller
Bidra med kode
Vi ønsker kodebidrag velkommen, inkludert:
- Nye leksjoner eller øvelser
- Feilrettinger
- Forbedringer av eksisterende notatbøker
- Nye datasett eller eksempler
- Forbedringer av quiz-applikasjonen
Kom i gang
Forutsetninger
Før du bidrar, sørg for at du har:
- En GitHub-konto
- Git installert på systemet ditt
- Python 3.7+ og Jupyter installert
- Node.js og npm (for bidrag til quiz-appen)
- Kjennskap til kursstrukturen
Se INSTALLATION.md for detaljerte installasjonsinstruksjoner.
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 -
Legg til upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Opprett en gren
Opprett en ny gren for arbeidet ditt:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Navnekonvensjoner for grener:
feature/- Nye funksjoner eller leksjonerfix/- Feilrettingerdocs/- Dokumentasjonsendringerrefactor/- Omstrukturering av kode
Retningslinjer for bidrag
For leksjonsinnhold
Når du bidrar med leksjoner eller endrer eksisterende:
-
Følg den eksisterende strukturen:
- README.md med leksjonsinnhold
- Jupyter-notatbok med øvelser
- Oppgave (hvis aktuelt)
- Lenke til quiz før og etter leksjonen
-
Inkluder disse elementene:
- Klare læringsmål
- Trinnvise forklaringer
- Kodeeksempler med kommentarer
- Øvelser for praksis
- Lenker til ekstra ressurser
-
Sørg for tilgjengelighet:
- Bruk klart, enkelt språk
- Gi alt-tekst for bilder
- Inkluder kodekommentarer
- Ta hensyn til ulike læringsstiler
For Jupyter-notatbøker
-
Tøm alle utdata før du committer:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Inkluder markdown-celler med forklaringer
-
Bruk 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 notatboken fullstendig før innsending
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 bidrag til quiz-appen
Når du endrer quiz-applikasjonen:
-
Test lokalt:
cd quiz-app npm install npm run serve -
Kjør linter:
npm run lint -
Bygg vellykket:
npm run build -
Følg Vue.js stilguide og eksisterende mønstre
For oversettelser
Når du legger til eller oppdaterer oversettelser:
- Følg strukturen i
translations/-mappen - Bruk språkkoden som mappenavn (f.eks.
frfor fransk) - Oppretthold samme filstruktur som den engelske versjonen
- Oppdater quiz-lenker for å inkludere språkparameter:
?loc=fr - Test alle lenker og formatering
Prosess for pull requests
Før innsending
-
Oppdater grenen din med de nyeste endringene:
git fetch upstream git rebase upstream/main -
Test endringene dine:
- Kjør alle endrede notatbøker
- Test quiz-appen hvis den er endret
- Verifiser at alle lenker fungerer
- Sjekk for skrivefeil og grammatiske feil
-
Commit endringene dine:
git add . git commit -m "Brief description of changes"Skriv klare commit-meldinger:
- Bruk nåtid ("Legg til funksjon" ikke "La til funksjon")
- Bruk imperativ form ("Flytt markøren til..." ikke "Flytter markøren til...")
- Begrens første linje til 72 tegn
- Referer til saker og pull requests når relevant
-
Push til din fork:
git push origin feature/your-feature-name
Opprette pull request
- Gå til repository
- Klikk "Pull requests" → "New pull request"
- Klikk "compare across forks"
- Velg din fork og gren
- Klikk "Create pull request"
Format for PR-tittel
Bruk klare, beskrivende titler med følgende format:
[Component] Brief description
Eksempler:
[Lesson 7] Rett Python-notatbok importfeil[Quiz App] Legg til tysk oversettelse[Docs] Oppdater README med nye forutsetninger[Fix] Korriger datapath i visualiseringsleksjon
PR-beskrivelse
Inkluder i PR-beskrivelsen:
- Hva: Hvilke endringer har du gjort?
- Hvorfor: Hvorfor er disse endringene nødvendige?
- Hvordan: Hvordan implementerte du endringene?
- Testing: Hvordan testet du endringene?
- Skjermbilder: Inkluder skjermbilder for visuelle endringer
- Relaterte saker: Lenke til relaterte saker (f.eks. "Fixes #123")
Gjennomgangsprosess
- Automatiske sjekker vil kjøre på din PR
- Vedlikeholdere vil gjennomgå bidraget ditt
- Svar på tilbakemeldinger ved å gjøre ytterligere commits
- Når godkjent, vil en vedlikeholder merge din PR
Etter at PR-en din er merget
-
Slett grenen din:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Oppdater din fork:
git checkout main git pull upstream main git push origin main
Stilretningslinjer
Markdown
-
Bruk konsekvente overskriftsnivåer
-
Inkluder tomme linjer mellom seksjoner
-
Bruk kodeblokker med språkspesifikasjoner:
```python import pandas as pd ``` -
Legg til alt-tekst til bilder:
 -
Hold linjelengder rimelige (rundt 80-100 tegn)
Python
- Følg PEP 8 stilguide
- Bruk meningsfulle variabelnavn
- Legg til docstrings til funksjoner
- Inkluder type hints der 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
- Bruk den medfølgende ESLint-konfigurasjonen
- Skriv modulære, gjenbrukbare komponenter
- Legg til kommentarer for kompleks logikk
Filorganisering
- Hold relaterte filer samlet
- Bruk beskrivende filnavn
- Følg eksisterende katalogstruktur
- Ikke commit unødvendige filer (.DS_Store, .pyc, node_modules, etc.)
Bidragsyterlisensavtale
Dette prosjektet ønsker bidrag og forslag velkommen. De fleste bidrag krever at du
godtar en Bidragsyterlisensavtale (CLA) som erklærer at du har rett til,
og faktisk gir oss rettighetene til å bruke ditt bidrag. For detaljer, besøk
https://cla.microsoft.com.
Når du sender inn en pull request, vil en CLA-bot automatisk avgjøre om du trenger
å gi en CLA og dekorere PR-en deretter (f.eks. etikett, kommentar). Følg bare
instruksjonene gitt av boten. Du trenger bare å gjøre dette én gang på tvers av alle repositories som bruker vår CLA.
Spørsmål?
- Sjekk vår Discord-kanal #data-science-for-beginners
- Bli med i vårt Discord-fellesskap
- Gå gjennom eksisterende saker og pull requests
Takk!
Dine bidrag gjør dette kurset bedre for alle. Takk for at du tar deg tid til å bidra!
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.