Vai al contenuto principale
Ogni attività in questo documento include istruzioni chiare, comandi di esempio e best practice per aiutarti a ottenere il massimo da Claude Code.

Comprendere nuove basi di codice

Ottenere una rapida panoramica della base di codice

Supponiamo che tu abbia appena aderito a un nuovo progetto e debba comprendere rapidamente la sua struttura.
1

Navigare nella directory radice del progetto

cd /path/to/project 
2

Avviare Claude Code

claude 
3

Chiedere una panoramica di alto livello

> dammi una panoramica di questa base di codice 
4

Approfondire componenti specifici

> spiega i principali modelli architetturali utilizzati qui 
> quali sono i modelli di dati chiave?
> come viene gestita l'autenticazione?
Suggerimenti:
  • Inizia con domande ampie, quindi restringi a aree specifiche
  • Chiedi informazioni sulle convenzioni di codifica e sui modelli utilizzati nel progetto
  • Richiedi un glossario di termini specifici del progetto

Trovare codice rilevante

Supponiamo che tu debba individuare il codice relativo a una funzionalità o funzione specifica.
1

Chiedere a Claude di trovare i file rilevanti

> trova i file che gestiscono l'autenticazione dell'utente 
2

Ottenere il contesto su come i componenti interagiscono

> come funzionano insieme questi file di autenticazione? 
3

Comprendere il flusso di esecuzione

> traccia il processo di accesso dal front-end al database 
Suggerimenti:
  • Sii specifico su ciò che stai cercando
  • Utilizza il linguaggio del dominio dal progetto

Correggere i bug in modo efficiente

Supponiamo che tu abbia riscontrato un messaggio di errore e debba trovare e correggere la sua fonte.
1

Condividere l'errore con Claude

> sto vedendo un errore quando eseguo npm test 
2

Chiedere raccomandazioni per la correzione

> suggerisci alcuni modi per correggere @ts-ignore in user.ts 
3

Applicare la correzione

> aggiorna user.ts per aggiungere il controllo null che hai suggerito 
Suggerimenti:
  • Comunica a Claude il comando per riprodurre il problema e ottenere una traccia dello stack
  • Menziona eventuali passaggi per riprodurre l’errore
  • Fai sapere a Claude se l’errore è intermittente o coerente

Refactoring del codice

Supponiamo che tu debba aggiornare il codice precedente per utilizzare modelli e pratiche moderne.
1

Identificare il codice legacy per il refactoring

> trova l'utilizzo di API deprecate nella nostra base di codice 
2

Ottenere raccomandazioni per il refactoring

> suggerisci come refactorizzare utils.js per utilizzare le moderne funzionalità JavaScript 
3

Applicare le modifiche in modo sicuro

> refactorizza utils.js per utilizzare le funzionalità ES2024 mantenendo lo stesso comportamento 
4

Verificare il refactoring

> esegui i test per il codice refactorizzato 
Suggerimenti:
  • Chiedi a Claude di spiegare i vantaggi dell’approccio moderno
  • Richiedi che le modifiche mantengano la compatibilità all’indietro quando necessario
  • Esegui il refactoring in piccoli incrementi testabili

Utilizzare subagent specializzati

Supponiamo che tu voglia utilizzare subagent AI specializzati per gestire attività specifiche in modo più efficace.
1

Visualizzare i subagent disponibili

> /agents
Questo mostra tutti i subagent disponibili e ti consente di crearne di nuovi.
2

Utilizzare i subagent automaticamente

Claude Code delegherà automaticamente le attività appropriate ai subagent specializzati:
> rivedi le mie recenti modifiche al codice per problemi di sicurezza
> esegui tutti i test e correggi eventuali errori
3

Richiedere esplicitamente subagent specifici

> usa il subagent code-reviewer per controllare il modulo di autenticazione
> fai indagare al subagent debugger sul motivo per cui gli utenti non riescono ad accedere
4

Creare subagent personalizzati per il tuo flusso di lavoro

> /agents
Quindi seleziona “Create New subagent” e segui i prompt per definire:
  • Tipo di subagent (ad es., api-designer, performance-optimizer)
  • Quando utilizzarlo
  • Quali strumenti può accedere
  • Il suo prompt di sistema specializzato
Suggerimenti:
  • Crea subagent specifici del progetto in .claude/agents/ per la condivisione del team
  • Utilizza campi description descrittivi per abilitare la delega automatica
  • Limita l’accesso agli strumenti a ciò di cui ogni subagent ha effettivamente bisogno
  • Consulta la documentazione dei subagent per esempi dettagliati

Utilizzare Plan Mode per l’analisi sicura del codice

Plan Mode istruisce Claude a creare un piano analizzando la base di codice con operazioni di sola lettura, perfetto per esplorare le basi di codice, pianificare modifiche complesse o rivedere il codice in modo sicuro.

Quando utilizzare Plan Mode

  • Implementazione multi-step: Quando la tua funzionalità richiede di apportare modifiche a molti file
  • Esplorazione del codice: Quando desideri ricercare a fondo la base di codice prima di apportare modifiche
  • Sviluppo interattivo: Quando desideri iterare sulla direzione con Claude

Come utilizzare Plan Mode

Attivare Plan Mode durante una sessione Puoi passare a Plan Mode durante una sessione utilizzando Shift+Tab per scorrere le modalità di autorizzazione. Se sei in Normal Mode, Shift+Tab passerà prima ad Auto-Accept Mode, indicato da ⏵⏵ accept edits on nella parte inferiore del terminale. Un successivo Shift+Tab passerà a Plan Mode, indicato da ⏸ plan mode on. Avviare una nuova sessione in Plan Mode Per avviare una nuova sessione in Plan Mode, utilizza il flag --permission-mode plan:
claude --permission-mode plan
Eseguire query “headless” in Plan Mode Puoi anche eseguire una query in Plan Mode direttamente con -p (cioè in “modalità headless”):
claude --permission-mode plan -p "Analizza il sistema di autenticazione e suggerisci miglioramenti"

Esempio: Pianificazione di un refactor complesso

claude --permission-mode plan
> Ho bisogno di refactorizzare il nostro sistema di autenticazione per utilizzare OAuth2. Crea un piano di migrazione dettagliato.
Claude analizzerà l’implementazione attuale e creerà un piano completo. Affina con i seguiti:
> Che dire della compatibilità all'indietro?
> Come dovremmo gestire la migrazione del database?

Configurare Plan Mode come predefinito

// .claude/settings.json
{
  "permissions": {
    "defaultMode": "plan"
  }
}
Consulta la documentazione delle impostazioni per ulteriori opzioni di configurazione.

Lavorare con i test

Supponiamo che tu debba aggiungere test per il codice non coperto.
1

Identificare il codice non testato

> trova le funzioni in NotificationsService.swift che non sono coperte dai test 
2

Generare lo scaffolding dei test

> aggiungi test per il servizio di notifica 
3

Aggiungere casi di test significativi

> aggiungi casi di test per le condizioni limite nel servizio di notifica 
4

Eseguire e verificare i test

> esegui i nuovi test e correggi eventuali errori 
Suggerimenti:
  • Chiedi test che coprano i casi limite e le condizioni di errore
  • Richiedi sia test unitari che test di integrazione quando appropriato
  • Fai spiegare a Claude la strategia di test

Creare pull request

Supponiamo che tu debba creare una pull request ben documentata per le tue modifiche.
1

Riassumere le tue modifiche

> riassumi le modifiche che ho apportato al modulo di autenticazione 
2

Generare una PR con Claude

> crea una pr 
3

Rivedere e perfezionare

> migliora la descrizione della PR con più contesto sui miglioramenti della sicurezza 
4

Aggiungere dettagli di test

> aggiungi informazioni su come queste modifiche sono state testate 
Suggerimenti:
  • Chiedi a Claude direttamente di creare una PR per te
  • Rivedi la PR generata da Claude prima di inviarla
  • Chiedi a Claude di evidenziare i rischi potenziali o le considerazioni

Gestire la documentazione

Supponiamo che tu debba aggiungere o aggiornare la documentazione per il tuo codice.
1

Identificare il codice non documentato

> trova le funzioni senza commenti JSDoc appropriati nel modulo di autenticazione 
2

Generare la documentazione

> aggiungi commenti JSDoc alle funzioni non documentate in auth.js 
3

Rivedere e migliorare

> migliora la documentazione generata con più contesto ed esempi 
4

Verificare la documentazione

> controlla se la documentazione segue i nostri standard di progetto 
Suggerimenti:
  • Specifica lo stile di documentazione che desideri (JSDoc, docstring, ecc.)
  • Chiedi esempi nella documentazione
  • Richiedi documentazione per API pubbliche, interfacce e logica complessa

Lavorare con le immagini

Supponiamo che tu debba lavorare con le immagini nella tua base di codice e desideri l’aiuto di Claude nell’analizzare il contenuto dell’immagine.
1

Aggiungere un'immagine alla conversazione

Puoi utilizzare uno di questi metodi:
  1. Trascina e rilascia un’immagine nella finestra di Claude Code
  2. Copia un’immagine e incollala nella CLI con ctrl+v (Non utilizzare cmd+v)
  3. Fornisci un percorso di immagine a Claude. Ad es., “Analizza questa immagine: /path/to/your/image.png”
2

Chiedere a Claude di analizzare l'immagine

> Cosa mostra questa immagine?
> Descrivi gli elementi dell'interfaccia utente in questo screenshot
> Ci sono elementi problematici in questo diagramma?
3

Utilizzare le immagini per il contesto

> Ecco uno screenshot dell'errore. Cosa lo causa?
> Questo è il nostro schema di database attuale. Come dovremmo modificarlo per la nuova funzionalità?
4

Ottenere suggerimenti di codice dal contenuto visivo

> Genera CSS per corrispondere a questo mockup di design
> Quale struttura HTML ricreerebbe questo componente?
Suggerimenti:
  • Utilizza le immagini quando le descrizioni di testo sarebbero poco chiare o ingombranti
  • Includi screenshot di errori, design dell’interfaccia utente o diagrammi per un contesto migliore
  • Puoi lavorare con più immagini in una conversazione
  • L’analisi delle immagini funziona con diagrammi, screenshot, mockup e altro

Fare riferimento a file e directory

Utilizza @ per includere rapidamente file o directory senza aspettare che Claude li legga.
1

Fare riferimento a un singolo file

> Spiega la logica in @src/utils/auth.js
Questo include il contenuto completo del file nella conversazione.
2

Fare riferimento a una directory

> Qual è la struttura di @src/components?
Questo fornisce un elenco di directory con informazioni sui file.
3

Fare riferimento alle risorse MCP

> Mostrami i dati da @github:repos/owner/repo/issues
Questo recupera i dati dai server MCP connessi utilizzando il formato @server:resource. Consulta risorse MCP per i dettagli.
Suggerimenti:
  • I percorsi dei file possono essere relativi o assoluti
  • I riferimenti ai file @ aggiungono CLAUDE.md nella directory del file e nelle directory padre al contesto
  • I riferimenti alle directory mostrano elenchi di file, non contenuti
  • Puoi fare riferimento a più file in un singolo messaggio (ad es., “@file1.js e @file2.js”)

Utilizzare il pensiero esteso

Supponiamo che tu stia lavorando su decisioni architetturali complesse, bug impegnativi o pianificazione di implementazioni multi-step che richiedono un ragionamento profondo.
Il pensiero esteso è disabilitato per impostazione predefinita in Claude Code. Puoi abilitarlo su richiesta utilizzando Tab per attivare Thinking, o utilizzando prompt come “think” o “think hard”. Puoi anche abilitarlo in modo permanente impostando la variabile di ambiente MAX_THINKING_TOKENS nelle tue impostazioni.
1

Fornire il contesto e chiedere a Claude di pensare

> Ho bisogno di implementare un nuovo sistema di autenticazione utilizzando OAuth2 per la nostra API. Pensa profondamente al miglior approccio per implementare questo nella nostra base di codice.
Claude raccoglierà informazioni rilevanti dalla tua base di codice e utilizzerà il pensiero esteso, che sarà visibile nell’interfaccia.
2

Perfezionare il pensiero con prompt di follow-up

> pensa alle potenziali vulnerabilità di sicurezza in questo approccio 
> pensa attentamente ai casi limite che dovremmo gestire 
Suggerimenti per ottenere il massimo valore dal pensiero esteso:Il pensiero esteso è più prezioso per attività complesse come:
  • Pianificazione di modifiche architetturali complesse
  • Debug di problemi intricati
  • Creazione di piani di implementazione per nuove funzionalità
  • Comprensione di basi di codice complesse
  • Valutazione dei compromessi tra diversi approcci
Utilizza Tab per attivare e disattivare Thinking durante una sessione.Il modo in cui richiedi il pensiero risulta in diversi livelli di profondità del pensiero:
  • “think” attiva il pensiero esteso di base
  • frasi intensificanti come “keep hard”, “think more”, “think a lot” o “think longer” attivano un pensiero più profondo
Per ulteriori suggerimenti sul prompt del pensiero esteso, consulta Suggerimenti per il pensiero esteso.
Claude visualizzerà il suo processo di pensiero come testo grigio in corsivo sopra la risposta.

Riprendere le conversazioni precedenti

Supponiamo che tu stia lavorando su un’attività con Claude Code e debba continuare da dove hai lasciato in una sessione successiva. Claude Code fornisce due opzioni per riprendere le conversazioni precedenti:
  • --continue per continuare automaticamente la conversazione più recente
  • --resume per visualizzare un selettore di conversazione
1

Continuare la conversazione più recente

claude --continue
Questo riprende immediatamente la tua conversazione più recente senza alcun prompt.
2

Continuare in modalità non interattiva

claude --continue --print "Continua con la mia attività"
Utilizza --print con --continue per riprendere la conversazione più recente in modalità non interattiva, perfetto per script o automazione.
3

Mostrare il selettore di conversazione

claude --resume
Questo visualizza un selettore di conversazione interattivo con una visualizzazione elenco pulita che mostra:
  • Riepilogo della sessione (o prompt iniziale)
  • Metadati: tempo trascorso, numero di messaggi e ramo git
Utilizza i tasti freccia per navigare e premi Invio per selezionare una conversazione. Premi Esc per uscire.
Suggerimenti:
  • La cronologia delle conversazioni è archiviata localmente sulla tua macchina
  • Utilizza --continue per un accesso rapido alla tua conversazione più recente
  • Utilizza --resume quando hai bisogno di selezionare una conversazione passata specifica
  • Quando riprendi, vedrai l’intera cronologia della conversazione prima di continuare
  • La conversazione ripresa inizia con lo stesso modello e configurazione dell’originale
Come funziona:
  1. Archiviazione della conversazione: Tutte le conversazioni vengono salvate automaticamente localmente con la loro cronologia completa dei messaggi
  2. Deserializzazione dei messaggi: Quando riprendi, l’intera cronologia dei messaggi viene ripristinata per mantenere il contesto
  3. Stato dello strumento: L’utilizzo dello strumento e i risultati della conversazione precedente vengono preservati
  4. Ripristino del contesto: La conversazione riprende con tutto il contesto precedente intatto
Esempi:
# Continua la conversazione più recente
claude --continue

# Continua la conversazione più recente con un prompt specifico
claude --continue --print "Mostrami i nostri progressi"

# Mostra il selettore di conversazione
claude --resume

# Continua la conversazione più recente in modalità non interattiva
claude --continue --print "Esegui di nuovo i test"

Eseguire sessioni parallele di Claude Code con Git worktree

Supponiamo che tu debba lavorare su più attività contemporaneamente con isolamento completo del codice tra le istanze di Claude Code.
1

Comprendere i Git worktree

I Git worktree ti consentono di estrarre più rami dallo stesso repository in directory separate. Ogni worktree ha la sua propria directory di lavoro con file isolati, mentre condivide la stessa cronologia Git. Scopri di più nella documentazione ufficiale di Git worktree.
2

Creare un nuovo worktree

# Crea un nuovo worktree con un nuovo ramo 
git worktree add ../project-feature-a -b feature-a

# Oppure crea un worktree con un ramo esistente
git worktree add ../project-bugfix bugfix-123
Questo crea una nuova directory con una copia di lavoro separata del tuo repository.
3

Eseguire Claude Code in ogni worktree

# Navigare al tuo worktree 
cd ../project-feature-a

# Esegui Claude Code in questo ambiente isolato
claude
4

Eseguire Claude in un altro worktree

cd ../project-bugfix
claude
5

Gestire i tuoi worktree

# Elenca tutti i worktree
git worktree list

# Rimuovi un worktree al termine
git worktree remove ../project-feature-a
Suggerimenti:
  • Ogni worktree ha il suo stato di file indipendente, rendendolo perfetto per sessioni parallele di Claude Code
  • Le modifiche apportate in un worktree non influenzeranno gli altri, impedendo alle istanze di Claude di interferire tra loro
  • Tutti i worktree condividono la stessa cronologia Git e le connessioni remote
  • Per attività di lunga durata, puoi avere Claude che lavora in un worktree mentre continui lo sviluppo in un altro
  • Utilizza nomi di directory descrittivi per identificare facilmente per quale attività è destinato ogni worktree
  • Ricorda di inizializzare il tuo ambiente di sviluppo in ogni nuovo worktree secondo la configurazione del tuo progetto. A seconda del tuo stack, questo potrebbe includere:
    • Progetti JavaScript: Esecuzione dell’installazione delle dipendenze (npm install, yarn)
    • Progetti Python: Configurazione di ambienti virtuali o installazione con gestori di pacchetti
    • Altri linguaggi: Seguire il processo di configurazione standard del tuo progetto

Utilizzare Claude come utilità di tipo unix

Aggiungere Claude al tuo processo di verifica

Supponiamo che tu voglia utilizzare Claude Code come linter o revisore di codice. Aggiungi Claude al tuo script di build:
// package.json
{
    ...
    "scripts": {
        ...
        "lint:claude": "claude -p 'sei un linter. per favore guarda le modifiche rispetto a main e segnala eventuali problemi relativi a errori di ortografia. segnala il nome del file e il numero di riga su una riga, e una descrizione del problema sulla seconda riga. non restituire nessun altro testo.'"
    }
}
Suggerimenti:
  • Utilizza Claude per la revisione automatica del codice nella tua pipeline CI/CD
  • Personalizza il prompt per verificare i problemi specifici rilevanti per il tuo progetto
  • Considera la creazione di più script per diversi tipi di verifica

Pipe in, pipe out

Supponiamo che tu voglia inviare dati a Claude e ottenere dati in un formato strutturato. Invia dati attraverso Claude:
cat build-error.txt | claude -p 'spiega concisamente la causa principale di questo errore di build' > output.txt
Suggerimenti:
  • Utilizza i pipe per integrare Claude negli script della shell esistenti
  • Combina con altri strumenti Unix per flussi di lavoro potenti
  • Considera l’utilizzo di —output-format per output strutturato

Controllare il formato di output

Supponiamo che tu abbia bisogno dell’output di Claude in un formato specifico, specialmente quando integri Claude Code in script o altri strumenti.
1

Utilizzare il formato testo (predefinito)

cat data.txt | claude -p 'riassumi questi dati' --output-format text > summary.txt
Questo restituisce solo la risposta di testo semplice di Claude (comportamento predefinito).
2

Utilizzare il formato JSON

cat code.py | claude -p 'analizza questo codice per bug' --output-format json > analysis.json
Questo restituisce un array JSON di messaggi con metadati inclusi costo e durata.
3

Utilizzare il formato JSON in streaming

cat log.txt | claude -p 'analizza questo file di log per errori' --output-format stream-json
Questo restituisce una serie di oggetti JSON in tempo reale mentre Claude elabora la richiesta. Ogni messaggio è un oggetto JSON valido, ma l’intero output non è JSON valido se concatenato.
Suggerimenti:
  • Utilizza --output-format text per integrazioni semplici dove hai solo bisogno della risposta di Claude
  • Utilizza --output-format json quando hai bisogno del registro completo della conversazione
  • Utilizza --output-format stream-json per l’output in tempo reale di ogni turno di conversazione

Creare comandi slash personalizzati

Claude Code supporta comandi slash personalizzati che puoi creare per eseguire rapidamente prompt o attività specifiche. Per ulteriori dettagli, consulta la pagina di riferimento Comandi slash.

Creare comandi specifici del progetto

Supponiamo che tu voglia creare comandi slash riutilizzabili per il tuo progetto che tutti i membri del team possono utilizzare.
1

Creare una directory di comandi nel tuo progetto

mkdir -p .claude/commands
2

Creare un file Markdown per ogni comando

echo "Analizza le prestazioni di questo codice e suggerisci tre ottimizzazioni specifiche:" > .claude/commands/optimize.md 
3

Utilizzare il tuo comando personalizzato in Claude Code

> /optimize 
Suggerimenti:
  • I nomi dei comandi derivano dal nome del file (ad es., optimize.md diventa /optimize)
  • Puoi organizzare i comandi in sottodirectory (ad es., .claude/commands/frontend/component.md crea /component con “(project:frontend)” mostrato nella descrizione)
  • I comandi del progetto sono disponibili per tutti coloro che clonano il repository
  • Il contenuto del file Markdown diventa il prompt inviato a Claude quando il comando viene invocato

Aggiungere argomenti di comando con $ARGUMENTS

Supponiamo che tu voglia creare comandi slash flessibili che possono accettare input aggiuntivo dagli utenti.
1

Creare un file di comando con il placeholder $ARGUMENTS

echo 'Trova e correggi il problema #$ARGUMENTS. Segui questi passaggi: 1.
Comprendi il problema descritto nel ticket 2. Individua il codice rilevante nella
nostra base di codice 3. Implementa una soluzione che affronti la causa principale 4. Aggiungi
test appropriati 5. Prepara una descrizione PR concisa' >
.claude/commands/fix-issue.md 
2

Utilizzare il comando con un numero di problema

Nella tua sessione di Claude, utilizza il comando con argomenti.
> /fix-issue 123 
Questo sostituirà $ARGUMENTS con “123” nel prompt.
Suggerimenti:
  • Il placeholder $ARGUMENTS viene sostituito con qualsiasi testo che segue il comando
  • Puoi posizionare $ARGUMENTS ovunque nel tuo modello di comando
  • Altre applicazioni utili: generazione di casi di test per funzioni specifiche, creazione di documentazione per componenti, revisione del codice in file particolari, o traduzione di contenuti in lingue specificate

Creare comandi slash personali

Supponiamo che tu voglia creare comandi slash personali che funzionano su tutti i tuoi progetti.
1

Creare una directory di comandi nella tua cartella home

mkdir -p ~/.claude/commands 
2

Creare un file Markdown per ogni comando

echo "Rivedi questo codice per vulnerabilità di sicurezza, concentrandoti su:" >
~/.claude/commands/security-review.md 
3

Utilizzare il tuo comando personalizzato personale

> /security-review 
Suggerimenti:
  • I comandi personali mostrano “(user)” nella loro descrizione quando elencati con /help
  • I comandi personali sono disponibili solo per te e non condivisi con il tuo team
  • I comandi personali funzionano su tutti i tuoi progetti
  • Puoi utilizzarli per flussi di lavoro coerenti su diverse basi di codice

Chiedere a Claude le sue capacità

Claude ha accesso integrato alla sua documentazione e può rispondere a domande sulle sue stesse funzionalità e limitazioni.

Domande di esempio

> Claude Code può creare pull request?
> come gestisce Claude Code i permessi?
> quali comandi slash sono disponibili?
> come utilizzo MCP con Claude Code?
> come configuro Claude Code per Amazon Bedrock?
> quali sono le limitazioni di Claude Code?
Claude fornisce risposte basate sulla documentazione a queste domande. Per esempi eseguibili e dimostrazioni pratiche, consulta le sezioni di flusso di lavoro specifiche sopra.
Suggerimenti:
  • Claude ha sempre accesso alla documentazione più recente di Claude Code, indipendentemente dalla versione che stai utilizzando
  • Poni domande specifiche per ottenere risposte dettagliate
  • Claude può spiegare funzionalità complesse come l’integrazione MCP, le configurazioni aziendali e i flussi di lavoro avanzati

Passaggi successivi

Implementazione di riferimento di Claude Code

Clona la nostra implementazione di riferimento del contenitore di sviluppo.