Sviluppo software con Claude Code
Dani Zysman
AI Curriculum Manager @ DataCamp

$ curl -fsSL https://claude.ai/install.sh | bash
Per maggiori info: https://code.claude.com/docs/en/overview
$ cd /path/to/your/project
$ claude
Comandi utili:
/clear per azzerare la cronologia/exit o Ctrl + C per uscire/help mostra i comandi disponibilidef process_data(records, threshold=0.5):
result = []
for r in records:
if r.get('value') and r['value'] > threshold:
x = r['value'] * 1.1 if r.get('premium') else r['value']
result.append({'id': r['id'], 'adjusted': x, 'flag': x > 1})
return sorted(result, key=lambda d: d['adjusted'], reverse=True)[:10]
> What does process_data() do?
process_data(): Filtra, Regola e Classifica
Filtra: mantiene i record con value > threshold (predefinito: 0.5)
Regola: applica +10% se premium=True
Trasforma: restituisce id, adjusted e flag (se adjusted > 1)
Ordina: ritorna i primi 10 per adjusted decrescente
> Add a docstring to process_data()
"""Filtra i record sopra la soglia, applica un aumento premium del 10% e
restituisce i primi 10 per valore adjusted."""
def add_item(item, item_list=[]):
item_list.append(item)
return item_list
Individui il problema?
> Find the bug in add_item() and fix it
Bug trovato e corretto: il problema era un argomento predefinito mutabile.
Usare item_list=[] fa sì che tutte le chiamate a add_item() senza
passare una lista condividano lo stesso oggetto lista predefinito,
causando l'accumulo di elementi tra le chiamate.
def add_item(item, item_list=None):
if item_list is None:
item_list = []
item_list.append(item)
return item_list
| Problema | Soluzione |
|---|---|
| "Context window exceeded" | Usa /clear per reimpostare |
| Limiti di frequenza | Attendi e riprova |
| Risultati scadenti | Mantieni i prompt su un solo task |

Sviluppo software con Claude Code