Använda skills

Mjukvaruutveckling med Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Vad är refaktorering?

Excalidraw: Refaktoreringskoncept – kodstrukturen ändras men beteendet förblir detsamma

Mjukvaruutveckling med Claude Code

Enhetstester möjliggör säker refaktorering

Säkert refaktoreringsflöde: kör tester, refactor-skill, granska, kör tester igen, committa om allt är grönt

Mjukvaruutveckling med Claude Code

Projektet hittills

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
Mjukvaruutveckling med Claude Code

Två sätt att aktivera

Två sätt att aktivera skills: manuellt med ett snedstreckskommando, automatiskt när Claude matchar

Mjukvaruutveckling med Claude Code

Refaktorera kod med skills

>/unit-tests @routes.py
Added unit tests:

Key Testing Patterns:
- Uses Flask test client for realistic HTTP testing
- Mocks external dependencies (music_store, analytics functions)
- Tests both happy paths and edge cases
- Includes validation of response formats and structure
- All tests are isolated with proper fixtures
The test file is ready to use and integrates with the project's existing pytest.
Mjukvaruutveckling med Claude Code

Refaktorera kod med skills

> /refactor @routes.py
Refactoring Complete
Changes made:
- Extracted _prepare_albums_for_stats(). Eliminates 9-line 
  list comprehension, makes intent clear
- Extracted _prepare_albums_for_average(). Removes duplicated 
  album-to-dict conversion logic
Benefits:
- Less duplication
- Cleaner route handlers
- Centralized data preparation

All 21 tests pass: behavior fully preserved
Mjukvaruutveckling med Claude Code

Skills säkerställer konsekvens

Utan skill: inkonsekvent och felbenäget. Med skill: konsekvent och pålitligt

Mjukvaruutveckling med Claude Code

Nu kör vi en övning!

Mjukvaruutveckling med Claude Code

Preparing Video For Download...