Korzystanie z umiejętności

Tworzenie oprogramowania z Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Czym jest refaktoryzacja?

Excalidraw: koncepcja refaktoryzacji – struktura kodu się zmienia, zachowanie pozostaje takie samo

Tworzenie oprogramowania z Claude Code

Testy jednostkowe umożliwiają bezpieczną refaktoryzację

Bezpieczny proces refaktoryzacji: uruchom testy, zastosuj umiejętność refaktoryzacji, sprawdź zmiany, uruchom testy ponownie, zatwierdź (commit), jeśli przechodzą

Tworzenie oprogramowania z Claude Code

Projekt do tej pory

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
Tworzenie oprogramowania z Claude Code

Dwa sposoby wywoływania

Dwa sposoby wywoływania umiejętności: ręcznie poleceniem ze slashem, automatycznie gdy Claude dopasuje kontekst

Tworzenie oprogramowania z Claude Code

Refaktoryzacja kodu z wykorzystaniem umiejętności

>/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.
Tworzenie oprogramowania z Claude Code

Refaktoryzacja kodu z wykorzystaniem umiejętności

> /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
Tworzenie oprogramowania z Claude Code

Umiejętności zapewniają spójność

Bez umiejętności: niespójnie i podatnie na błędy. Z umiejętnością: spójnie i niezawodnie

Tworzenie oprogramowania z Claude Code

Czas na praktykę!

Tworzenie oprogramowania z Claude Code

Preparing Video For Download...