Menu

Confronta testi / diff checker

Confronta due blocchi di testo o codice fianco a fianco, riga per riga e parola per parola.

Di Nethanel Bar, Co-founder & CEO

Ultimo aggiornamento

Vuoi imparare a programmare sul serio?

Coddy ti insegna facendoti scrivere codice vero nel browser: lezioni interattive, feedback immediato e aiuto dall'AI quando ti blocchi.

Cos'è un diff checker?

Un diff checker confronta due testi o due porzioni di codice ed evidenzia cosa è stato aggiunto, rimosso o modificato. Gli sviluppatori usano i diff di continuo: per revisionare codice, fare debug di modifiche alla configurazione, confrontare risposte di API, validare migrazioni e capire le modifiche prima di fare commit.

Saper leggere un diff è una competenza fondamentale per chi sviluppa. Ti aiuta a separare i *veri cambi di comportamento* dalle semplici riformattazioni e a trovare l'unico carattere modificato in un blocco di 200 righe. Una volta interiorizzato il ritmo verde / rosso / giallo, la code review diventa molto più veloce.

I tipi di diff più importanti sono due: il *diff per riga* (quali righe sono cambiate) e il *diff per parola* o *per carattere* (cosa è cambiato all'interno di una riga). Un buon strumento di diff ti permette di passare dall'uno all'altro a seconda che tu stia confrontando codice sorgente o paragrafi di testo.

Cosa imparerai confrontando testi

  • I diff per riga mostrano *dove* sono avvenute le modifiche. I diff per parola e per carattere mostrano *cosa* è cambiato all'interno di una riga.
  • Gli spazi possono essere significativi (Markdown, YAML, Python) o irrilevanti (quasi tutto il resto del codice): attiva o disattiva l'opzione per ignorarli di conseguenza.
  • Un diff che sembra piccolo può avere un impatto enorme se cambia un valore, una condizione, una route, una variabile d'ambiente o un feature flag.
  • Quando due blocchi grandi sono molto diversi, ordinali o normalizzali prima: confrontare due oggetti JSON non ordinati può produrre un muro di falsi positivi.

Come confrontare due testi passo dopo passo

  1. Incolla le due versioni

    Metti il testo originale a sinistra e la nuova versione a destra. Codice, JSON, testo semplice, file di configurazione: va bene qualsiasi cosa.

  2. Scegli diff per riga o per parola

    Usa il diff per riga per il codice sorgente o i dati strutturati. Passa al diff per parola quando confronti paragrafi di testo in cui conta la scelta delle parole.

  3. Gestisci spazi e maiuscole

    Attiva *ignora spazi* se ti interessano solo le modifiche significative; attiva *ignora maiuscole* quando confronti log o testi in cui maiuscole e minuscole sono casuali.

  4. Leggi l'output colorato

    Il contenuto rimosso compare in rosso a sinistra, quello aggiunto in verde a destra. Le righe modificate spesso compaiono come una di ciascun tipo, affiancate.

  5. Ripeti

    Modifica uno dei due lati e guarda il diff aggiornarsi in tempo reale. È perfetto per preparare una patch pulita prima di aprire una pull request.

Riferimento rapido di colori e simboli del diff

Le convenzioni usate dal diff checker di Coddy, e anche da git diff, GitHub e dalla maggior parte degli altri visualizzatori di diff.

IndicatoreSignificatoDove compare
Rosso / -Riga rimossa dall'originalePannello sinistro
Verde / +Riga aggiunta nella nuova versionePannello destro
Giallo / entrambiRiga modificata: cambio parziale all'interno della rigaEntrambi i pannelli
Nessun coloreRiga invariata, comune alle due versioniEntrambi i pannelli
@@ ... @@Intestazione di blocco (hunk) di git diff: numeri di rigaOutput di git diff nel terminale
Diff per parolaModifica a livello di carattere o parola in una riga modificataEvidenziata all'interno di una riga gialla

Esempi di diff da provare

Scovare un errore di battitura nella configurazione

Prima
API_TIMEOUT=3000
Dopo
API_TIMEOUT=30000

Uno zero in più trasforma un timeout di 3 secondi in uno di 30. Un diff checker lo individua in pochi secondi, mentre confrontando a occhio due file .env spesso sfugge.

Modifica a livello di parola

Prima

L'utente può fare login.

Dopo

L'utente può fare log in.

Il diff per parola evidenzia login → log in. Un diff per riga mostrerebbe semplicemente tutta la riga come modificata; il diff per parola isola la modifica effettiva.

Confrontare due risposte di un'API

Risposta A
{  "id": 42,  "status": "draft",  "published": false}
Risposta B
{  "id": 42,  "status": "published",  "published": true}

Il diff rende evidente che due campi collegati sono cambiati insieme. È il modo più rapido per verificare che una chiamata API che modifica lo stato abbia fatto ciò che doveva.

Confrontare due versioni di una funzione

Prima
function total(items) {  let sum = 0;  for (const i of items) sum += i.price;  return sum;}
Dopo
function total(items) {  return items.reduce((sum, i) => sum + i.price, 0);}

Confrontare il codice online in questo modo è il sistema più rapido per revisionare un refactoring: il diff per riga mostra il ciclo imperativo rimosso e la versione con reduce aggiunta, così puoi verificare che il comportamento sia equivalente prima del commit.

Leggere un git diff

git diff
@@ -1,4 +1,4 @@ function greet(name) {-  return 'Hi ' + name;+  return `Hi ${name}`; }

La stessa logica dei colori è alla base di git diff: le righe che iniziano con - (rosso) sono rimosse, quelle con + (verde) sono aggiunte e @@ ... @@ è l'intestazione del blocco che indica l'intervallo di righe. Incolla l'output grezzo di git diff per leggerlo in pannelli affiancati con evidenziazione della sintassi.

Errori comuni con i diff

  • Ignorare gli spazi quando sono significativi: Markdown, YAML e Python tengono tutti all'indentazione.
  • Guardare solo le righe verdi (aggiunte) e perdere righe rosse (eliminate) importanti.
  • Pensare che un diff pulito dimostri che la nuova versione è corretta. Un diff mostra solo *cosa è cambiato*, non *se la modifica è giusta*.
  • Confrontare JSON minificato con codice formattato senza prima normalizzare uno dei due input: ogni riga sembrerà diversa anche se i dati sono gli stessi.
  • Fidarsi di un diff affiancato per file molto lunghi senza cercare parole chiave specifiche. Usa entrambe le cose: prima scorri, poi Ctrl+F per il campo che ti interessa.

Domande frequenti sul Diff Checker

Che differenza c'è tra uno strumento per confrontare testi e un diff checker?
Nessuna: sono due nomi per lo stesso strumento. Entrambi confrontano due testi ed evidenziano cosa è stato aggiunto, rimosso o modificato.
Posso confrontare codice con questo strumento?
Sì. Un diff di testo funziona con codice, JSON, SQL, Markdown, YAML, file di configurazione e testo semplice. La vista del diff per riga è particolarmente utile per la revisione del codice sorgente.
Perché gli sviluppatori usano i diff ogni giorno?
I diff sono alla base di code review, tracciamento delle modifiche, caccia alle regressioni e analisi dopo un incidente. git diff, la vista delle pull request e i pannelli di confronto degli IDE seguono tutti la stessa idea.
Bisogna ignorare gli spazi?
Solo quando gli spazi non contano per quel tipo di file. In Python, YAML e Markdown gli spazi sono significativi e vanno confrontati. Nella maggior parte del resto del codice, ignorarli rende i diff più puliti.
I miei dati sono al sicuro in questo diff checker?
Sì: il confronto avviene interamente nel browser. Il tuo testo non viene caricato né salvato. Puoi usarlo tranquillamente con codice interno, configurazioni ed esempi di dati dei clienti.
Come si confronta del codice online?
Incolla le due versioni del codice nei pannelli sinistro e destro e lo strumento evidenzia subito le differenze: righe rimosse in rosso, righe aggiunte in verde e modifiche a livello di parola nelle righe modificate. Funziona con qualsiasi linguaggio (JavaScript, Python, Java, SQL, JSON, YAML) perché confronta direttamente il testo. Nessun caricamento, nessuna registrazione: il confronto avviene nel browser.
Cos'è un diff del codice?
Un diff del codice è l'insieme delle modifiche tra due versioni di un file: quali righe sono state aggiunte, rimosse o modificate. È la base del controllo di versione: ogni commit, pull request e code review si legge come un diff. Questo strumento mostra la stessa vista aggiunto/rimosso/modificato di git diff e GitHub, ma per due frammenti qualsiasi che incolli, senza bisogno di un repository.
Posso vedere la differenza tra due file?
Sì. Apri ciascun file, copia il suo contenuto in uno dei due lati del confronto e il diff evidenzia ogni riga diversa. Usa la modalità per riga per codice e dati strutturati, e attiva *ignora spazi* se le modifiche di sola formattazione creano rumore che non ti interessa.

Scopri di più

Altri strumenti per sviluppatori

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA