Uso delle skill

Sviluppo software con Claude Code

Dani Zysman

AI Curriculum Manager @ DataCamp

Cos'è il refactoring?

Excalidraw: Refactoring: cambia la struttura del codice ma il comportamento resta uguale

Sviluppo software con Claude Code

I test unitari abilitano refactoring sicuro

Flusso sicuro di refactoring: esegui i test, usa la skill di refactoring, rivedi, riesegui i test, fai commit se è tutto verde

Sviluppo software con Claude Code

Il progetto finora

music-analytics-api/
  app.py
  routes.py
  test_routes.py     # <- Generato dalla skill unit-tests
  models.py
  CLAUDE.md
  .claude/
    agents/
    skills/
      unit-tests/    # Dal video precedente
        SKILL.md
      refactor/      # NOVITÀ: refactoring sicuro
        SKILL.md
Sviluppo software con Claude Code

Due modi per richiamarle

Due modi per richiamare le skill: manuale con comando slash, automatico quando Claude corrisponde

Sviluppo software con Claude Code

Refactoring del codice con le skill

>/unit-tests @routes.py
Aggiunti test unitari:

Pattern di test chiave:
- Usa il test client di Flask per test HTTP realistici
- Mock delle dipendenze esterne (music_store, funzioni di analytics)
- Testa sia i casi positivi sia gli edge case
- Include la validazione di formati e struttura della risposta
- Tutti i test sono isolati con fixture adeguate
Il file di test è pronto e si integra con il pytest esistente del progetto.
Sviluppo software con Claude Code

Refactoring del codice con le skill

> /refactor @routes.py
Refactoring completato
Modifiche apportate:
- Estratta _prepare_albums_for_stats(). Elimina la list comprehension 
  di 9 righe e chiarisce l'intento
- Estratta _prepare_albums_for_average(). Rimuove la logica duplicata 
  di conversione album->dict
Benefici:
- Meno duplicazioni
- Handler delle route più puliti
- Preparazione dati centralizzata

Tutti i 21 test passano: comportamento pienamente preservato
Sviluppo software con Claude Code

Le skill garantiscono coerenza

Senza skill: incoerente e soggetto a errori. Con skill: coerente e affidabile

Sviluppo software con Claude Code

Esercitiamoci!

Sviluppo software con Claude Code

Preparing Video For Download...