Esistono decine di tool che promettono di "rivoluzionare" il modo in cui scrivi codice. La maggior parte è rumore. Claude Code è diverso — non perché sia perfetto, ma perché funziona in modo genuinamente diverso da un completamento automatico glorificato. È un agente: legge file, esegue comandi, interpreta errori, e itera. Dopo settimane di uso intenso su progetti reali, ecco un resoconto onesto.
Come funziona internamente
Claude Code non si limita a completare il tuo codice. Quando gli assegni un task, avvia un agentic loop: esplora la codebase per capire il contesto, legge i file rilevanti, esegue comandi bash per verificare l'ambiente, scrive le modifiche, esegue i test e itera se qualcosa fallisce. Tutto questo avviene in modo autonomo, con la tua supervisione.
Dove eccelle davvero
- Refactoring su larga scala: renaming, cambio di pattern architetturali, aggiornamento di API deprecate in decine di file
- Scrittura di test: comprende il codice esistente e genera test unitari e di integrazione sensati
- Debugging con errori oscuri: interpreta stack trace, isola la causa radice e propone fix con contesto
- Onboarding su codebase nuove: ti spiega l'architettura leggendo il codice, non la documentazione
- Generazione di boilerplate ripetitivo: endpoint REST, migrazioni DB, componenti UI secondo un pattern esistente
Dove ancora fatica
- Modifiche che richiedono consistenza cross-file molto precisa su codebase enormi (> 100k righe)
- Sessioni molto lunghe: la qualità degrada quando il contesto si accumula troppo
- Decisioni architetturali complesse: ottimo esecutore, meno efficace come architetto autonomo
- Ambienti con toolchain non standard o dipendenze locali particolari
Il mio flusso di lavoro ottimizzato
- Inizia ogni sessione con un task ben definito e circoscritto — non "migliora il codice", ma "aggiungi validazione email alla funzione registerUser in auth/service.ts"
- Usa /compact periodicamente per comprimere il contesto nelle sessioni lunghe
- Revisiona sempre le modifiche prima di applicarle — non per sfiducia, ma perché ti mantiene nel loop
- Chiedi spiegazioni quando qualcosa non ti convince: capire il ragionamento vale più della modifica stessa
- Esegui i test dopo ogni batch di modifiche, non alla fine
CLAUDE.md: la chiave che cambia tutto
Il file CLAUDE.md nella root del progetto è il modo per dare contesto persistente all'agente. Senza di esso, Claude Code passa tempo a esplorare la codebase per capire convenzioni e struttura. Con un CLAUDE.md ben scritto, parte già orientato.
Cosa includere nel CLAUDE.md: comandi di build/test/lint, convenzioni di naming del progetto, architettura ad alto livello, decisioni tecniche importanti e perché sono state prese, pattern da seguire e da evitare. Non scrivere quello che può essere scoperto leggendo il codice.
Il verdetto
Claude Code non elimina la necessità di un buon sviluppatore — la amplifica. Chi sa già cosa vuole costruire e come strutturarlo, trova in Claude Code un esecutore veloce e capace. Chi si aspetta che l'IA faccia le scelte architetturali al posto suo rimarrà deluso. Il punto dolce è la collaborazione: tu definisci il "cosa" e il "perché", Claude Code gestisce il "come".