Hoofdstuk 4 — Versiebeheer en samenwerking: Git, GitHub en code review
Let op: De tekst is in het Nederlands; shell‑commando’s zijn in het Engels.
Doel van dit hoofdstuk:
- Basis Git‑workflow: init, commit, branch, merge, pull/push.
- Werken met GitHub (of GitLab): pull requests, issues, CI‑indicaties.
- Code review‑principes voor data‑projecten (notebooks, scripts, data‑artefacten).
Aanbevolen voorkennis: Hoofdstuk 1–3.
4.1 Git initialiseren en eerste commit
# In een nieuwe map
git init
git status
echo "# Project" > README.md
git add README.md
git commit -m "init"
4.2 Branches en merges
git switch -c feature/eda
# werk... voeg bestanden toe
git add notebooks/01-exploratie.ipynb
git commit -m "EDA eerste versie"
# terug naar main en merge
git switch main
git merge feature/eda
4.3 Remote en samenwerken
git remote add origin https://github.com/<org>/<repo>.git
git push -u origin main
- Gebruik pull requests (PR) voor review.
- Koppel issues aan PR’s voor traceerbaarheid.
4.4 Code review voor data‑science
Checklist:
- Is de analyse reproduceerbaar? (requirements/environment aanwezig)
- Zijn notebooks schoon gerund (Restart & Run All) en niet te groot?
- Is data‑in/‑uit duidelijk gedocumenteerd (paden, formaten, privacy)?
- Zijn resultaten/figuren interpreteerbaar en correct gelabeld?
- Zijn functies/herbruikbare logica in
src/ondergebracht met tests (indien toepasselijk)?
4.5 Diffen van notebooks
- Gebruik
nbdimeof GitHub’s notebook viewer om verschillen te bekijken. - Overweeg export naar script (
jupyter nbconvert --to script) voor review van logica.
4.6 Basis CI‑signalen (kort)
- Voeg een eenvoudige CI toe die
pip install -r requirements.txtuitvoert en basislinting doet (ruff/flake8). - Optioneel: run snelle tests (
pytest -q).
4.7 Samenvatting
Git en GitHub ondersteunen samenwerking en review. Gebruik branches en PR’s, en hanteer een reviewchecklist die focust op reproduceerbaarheid, duidelijkheid en datakwaliteit. In Hoofdstuk 5 kijken we naar projecttemplates, cookiecutter en packaging basics.