11 KiB
Bijdragen aan Data Science voor Beginners
Bedankt voor je interesse om bij te dragen aan het curriculum Data Science voor Beginners! We verwelkomen bijdragen van de gemeenschap.
Inhoudsopgave
- Gedragscode
- Hoe kan ik bijdragen?
- Aan de slag
- Richtlijnen voor bijdragen
- Pull Request-proces
- Stijlrichtlijnen
- Contributor License Agreement
Gedragscode
Dit project hanteert de Microsoft Open Source Gedragscode.
Voor meer informatie, zie de FAQ over de gedragscode
of neem contact op via opencode@microsoft.com voor aanvullende vragen of opmerkingen.
Hoe kan ik bijdragen?
Bugs rapporteren
Voordat je een bugrapport aanmaakt, controleer eerst de bestaande issues om duplicaten te voorkomen. Wanneer je een bugrapport aanmaakt, geef zoveel mogelijk details:
- Gebruik een duidelijke en beschrijvende titel
- Beschrijf de exacte stappen om het probleem te reproduceren
- Geef specifieke voorbeelden (codefragmenten, screenshots)
- Beschrijf het waargenomen gedrag en wat je verwachtte
- Geef details over je omgeving (OS, Python-versie, browser)
Verbeteringen voorstellen
Suggesties voor verbeteringen zijn altijd welkom! Bij het voorstellen van verbeteringen:
- Gebruik een duidelijke en beschrijvende titel
- Geef een gedetailleerde beschrijving van de voorgestelde verbetering
- Leg uit waarom deze verbetering nuttig zou zijn
- Noem vergelijkbare functies in andere projecten, indien van toepassing
Bijdragen aan documentatie
Verbeteringen aan de documentatie worden altijd gewaardeerd:
- Corrigeer typfouten en grammaticale fouten
- Verbeter de duidelijkheid van uitleg
- Voeg ontbrekende documentatie toe
- Werk verouderde informatie bij
- Voeg voorbeelden of gebruiksscenario's toe
Code bijdragen
We verwelkomen codebijdragen, waaronder:
- Nieuwe lessen of oefeningen
- Bugfixes
- Verbeteringen aan bestaande notebooks
- Nieuwe datasets of voorbeelden
- Verbeteringen aan de quizapplicatie
Aan de slag
Vereisten
Voordat je bijdraagt, zorg ervoor dat je het volgende hebt:
- Een GitHub-account
- Git geïnstalleerd op je systeem
- Python 3.7+ en Jupyter geïnstalleerd
- Node.js en npm (voor bijdragen aan de quizapplicatie)
- Bekendheid met de structuur van het curriculum
Zie INSTALLATION.md voor gedetailleerde installatie-instructies.
Fork en Clone
-
Fork de repository op GitHub
-
Clone je fork lokaal:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
Voeg upstream remote toe:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Maak een branch
Maak een nieuwe branch voor je werk:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Branch naamconventies:
feature/- Nieuwe functies of lessenfix/- Bugfixesdocs/- Documentatiewijzigingenrefactor/- Codeherstructurering
Richtlijnen voor bijdragen
Voor lesinhoud
Bij het bijdragen van lessen of het wijzigen van bestaande lessen:
-
Volg de bestaande structuur:
- README.md met lesinhoud
- Jupyter-notebook met oefeningen
- Opdracht (indien van toepassing)
- Link naar pre- en postquizzen
-
Voeg deze elementen toe:
- Duidelijke leerdoelen
- Stapsgewijze uitleg
- Codevoorbeelden met opmerkingen
- Oefeningen om te oefenen
- Links naar aanvullende bronnen
-
Zorg voor toegankelijkheid:
- Gebruik duidelijke, eenvoudige taal
- Voeg alt-tekst toe aan afbeeldingen
- Voeg codeopmerkingen toe
- Houd rekening met verschillende leerstijlen
Voor Jupyter-notebooks
-
Wis alle uitvoer voordat je commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Voeg markdown-cellen toe met uitleg
-
Gebruik consistente opmaak:
# 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 je notebook volledig voordat je deze indient
Voor Python-code
Volg de PEP 8 stijlrichtlijnen:
# 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)
Voor bijdragen aan de quizapplicatie
Bij het wijzigen van de quizapplicatie:
-
Test lokaal:
cd quiz-app npm install npm run serve -
Voer linter uit:
npm run lint -
Bouw succesvol:
npm run build -
Volg de Vue.js stijlrichtlijnen en bestaande patronen
Voor vertalingen
Bij het toevoegen of bijwerken van vertalingen:
- Volg de structuur in de map
translations/ - Gebruik de taalcode als mapnaam (bijv.
frvoor Frans) - Behoud dezelfde bestandsstructuur als de Engelse versie
- Werk quizlinks bij om de taalparameter op te nemen:
?loc=fr - Test alle links en opmaak
Pull Request-proces
Voordat je indient
-
Werk je branch bij met de laatste wijzigingen:
git fetch upstream git rebase upstream/main -
Test je wijzigingen:
- Voer alle gewijzigde notebooks uit
- Test de quizapplicatie indien gewijzigd
- Controleer of alle links werken
- Controleer op spelling- en grammaticafouten
-
Commit je wijzigingen:
git add . git commit -m "Brief description of changes"Schrijf duidelijke commitberichten:
- Gebruik de tegenwoordige tijd ("Voeg functie toe" in plaats van "Functie toegevoegd")
- Gebruik de gebiedende wijs ("Verplaats cursor naar..." in plaats van "Verplaatst cursor naar...")
- Beperk de eerste regel tot 72 tekens
- Verwijs naar issues en pull requests indien relevant
-
Push naar je fork:
git push origin feature/your-feature-name
Een Pull Request aanmaken
- Ga naar de repository
- Klik op "Pull requests" → "New pull request"
- Klik op "compare across forks"
- Selecteer je fork en branch
- Klik op "Create pull request"
PR Titel Formaat
Gebruik duidelijke, beschrijvende titels volgens dit formaat:
[Component] Brief description
Voorbeelden:
[Les 7] Fix Python-notebook importfout[Quiz App] Voeg Duitse vertaling toe[Docs] Update README met nieuwe vereisten[Fix] Corrigeer datapad in visualisatieles
PR Beschrijving
Neem in je PR-beschrijving op:
- Wat: Welke wijzigingen heb je aangebracht?
- Waarom: Waarom zijn deze wijzigingen nodig?
- Hoe: Hoe heb je de wijzigingen geïmplementeerd?
- Testen: Hoe heb je de wijzigingen getest?
- Screenshots: Voeg screenshots toe voor visuele wijzigingen
- Gerelateerde issues: Link naar gerelateerde issues (bijv. "Fixes #123")
Reviewproces
- Automatische controles worden uitgevoerd op je PR
- Maintainers zullen je bijdrage beoordelen
- Verwerk feedback door aanvullende commits te maken
- Zodra goedgekeurd, zal een maintainer je PR mergen
Nadat je PR is gemerged
-
Verwijder je branch:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Werk je fork bij:
git checkout main git pull upstream main git push origin main
Stijlrichtlijnen
Markdown
-
Gebruik consistente kopniveaus
-
Voeg lege regels toe tussen secties
-
Gebruik codeblokken met taalspecificaties:
```python import pandas as pd ``` -
Voeg alt-tekst toe aan afbeeldingen:
 -
Houd de regellengte redelijk (ongeveer 80-100 tekens)
Python
- Volg de PEP 8 stijlrichtlijnen
- Gebruik betekenisvolle variabelenamen
- Voeg docstrings toe aan functies
- Voeg type hints toe waar nodig:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Volg de Vue.js 2 stijlrichtlijnen
- Gebruik de meegeleverde ESLint-configuratie
- Schrijf modulaire, herbruikbare componenten
- Voeg opmerkingen toe voor complexe logica
Bestandsorganisatie
- Houd gerelateerde bestanden bij elkaar
- Gebruik beschrijvende bestandsnamen
- Volg de bestaande mapstructuur
- Commit geen onnodige bestanden (.DS_Store, .pyc, node_modules, etc.)
Contributor License Agreement
Dit project verwelkomt bijdragen en suggesties. De meeste bijdragen vereisen dat je akkoord gaat met een Contributor License Agreement (CLA) waarin je verklaart dat je het recht hebt om, en daadwerkelijk doet, ons de rechten te geven om je bijdrage te gebruiken. Voor details, bezoek
https://cla.microsoft.com.
Wanneer je een pull request indient, zal een CLA-bot automatisch bepalen of je een CLA moet indienen en de PR dienovereenkomstig voorzien van een label of opmerking. Volg gewoon de instructies van de bot. Je hoeft dit slechts één keer te doen voor alle repositories die onze CLA gebruiken.
Vragen?
- Bekijk ons Discord-kanaal #data-science-for-beginners
- Word lid van onze Discord-community
- Bekijk bestaande issues en pull requests
Bedankt!
Jouw bijdragen maken dit curriculum beter voor iedereen. Bedankt dat je de tijd neemt om bij te dragen!
Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.