Confronto testi (Diff Checker)
Confronta due testi o frammenti di codice riga per riga. Le righe aggiunte, rimosse e modificate vengono evidenziate, fino alle singole parole che differiscono.
Funziona nel browserNessuna registrazioneNessun caricamento
Come usare Confronto testi (Diff Checker)
- Incolla il testo originale a sinistra e quello modificato a destra, oppure apri due file.
- Il confronto si aggiorna mentre scrivi. Scegli la vista Affiancata o Unificata.
- Spunta Ignora spazi, Ignora maiuscole o Ignora righe vuote per nascondere il rumore, come le reindentazioni.
- Usa Nascondi invariati per concentrarti sulle modifiche, con tre righe di contesto intorno a ciascuna.
- Clicca Copia come patch o Scarica .diff per ottenere un diff unificato standard da applicare con
git applyopatch.
Come funziona questo diff checker
Lo strumento divide entrambi gli input in righe ed esegue l'algoritmo di differenza di Myers, lo stesso algoritmo O(ND) usato da git diff e da GNU diff. Trova la sequenza più breve di inserimenti ed eliminazioni che trasforma l'originale nel testo modificato, quindi il risultato mostra il minor numero possibile di righe cambiate. Le righe identiche iniziali e finali vengono saltate per prime, il che rende quasi istantaneo il confronto di file con migliaia di righe.
Quando una riga rimossa e una aggiunta sono adiacenti, vengono abbinate come riga modificata e confrontate di nuovo parola per parola. Le parole effettivamente cambiate ricevono un'evidenziazione più marcata, così una variabile rinominata o un numero modificato risaltano anche in una riga lunga.
Vista affiancata e vista unificata
La vista Affiancata mette l'originale a sinistra e la nuova versione a destra, con i numeri di riga per entrambe. È la vista più comoda per rivedere testi, file di configurazione e piccole modifiche al codice. La vista Unificata alterna in un'unica colonna le righe rimosse (-) e aggiunte (+), il formato usato dagli strumenti di code review e dai file di patch.
Formato diff unificato (patch)
La patch esportata segue il formato diff -u: un'intestazione ---/+++, poi blocchi (hunk) che iniziano con @@ -l,s +l,s @@, dove l è il primo numero di riga e s il numero di righe del blocco in ciascun file. Ogni blocco include tre righe di contesto invariate, quindi può essere applicato con patch -p0 o git apply anche se le righe vicine si sono spostate.
Quando usare le opzioni di esclusione
- Ignora spazi considera uguali le righe che differiscono solo per spazi o tab. Usalo dopo aver reindentato il codice o convertito i tab in spazi.
- Ignora maiuscole è utile per SQL, HTML e file di log, dove maiuscole e minuscole non contano.
- Ignora righe vuote nasconde le righe aggiunte o rimosse solo come spaziatura.