Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 nbdime of 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.txt uitvoert 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.