Skills gebruiken

Softwareontwikkeling met Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Wat is refactoring?

Excalidraw: Refactoring-concept - code-structuur verandert maar gedrag blijft gelijk

Softwareontwikkeling met Claude Code

Unittests maken refactoring veilig

Veilige refactoring-workflow: tests draaien, refactor-skill, reviewen, tests opnieuw draaien, committen als groen

Softwareontwikkeling met Claude Code

Het project tot nu toe

music-analytics-api/
  app.py
  routes.py
  test_routes.py     # <- Generated by unit-tests skill
  models.py
  CLAUDE.md
  .claude/
    agents/
    skills/
      unit-tests/    # From previous video
        SKILL.md
      refactor/      # NEW: safe refactoring
        SKILL.md
Softwareontwikkeling met Claude Code

Twee manieren om aan te roepen

Twee manieren om skills aan te roepen: handmatig met slash-commando, automatisch wanneer Claude matcht

Softwareontwikkeling met Claude Code

Code refactoren met Skills

>/unit-tests @routes.py
Unittests toegevoegd:

Belangrijke testpatronen:
- Gebruikt Flask testclient voor realistische HTTP-tests
- Mockt externe afhankelijkheden (music_store, analytics-functies)
- Test zowel happy paths als edge cases
- Bevat validatie van responseformaten en -structuur
- Alle tests zijn geïsoleerd met juiste fixtures
Het testbestand is klaar voor gebruik en integreert met de bestaande pytest van het project.
Softwareontwikkeling met Claude Code

Code refactoren met Skills

> /refactor @routes.py
Refactoring voltooid
Wijzigingen:
- _prepare_albums_for_stats() geëxtraheerd. Schrapt 9 regels 
  list comprehension, maakt intentie duidelijk
- _prepare_albums_for_average() geëxtraheerd. Verwijdert dubbele 
  conversielogica van album-naar-dict
Voordelen:
- Minder duplicatie
- Schonere route-handlers
- Gecentraliseerde datapreparatie

Alle 21 tests slagen: gedrag volledig behouden
Softwareontwikkeling met Claude Code

Skills zorgen voor consistentie

Zonder skill: inconsistent en foutgevoelig. Met skill: consistent en betrouwbaar

Softwareontwikkeling met Claude Code

Laten we oefenen!

Softwareontwikkeling met Claude Code

Preparing Video For Download...