Confronto delle differenze fra testi
Strumento che confronta due testi riga per riga e mostra con colori distinti le righe aggiunte e quelle eliminate. Utile per verificare le modifiche a un file di configurazione, per la revisione di uno scritto e per le revisioni del codice senza sistemi di controllo di versione. Il calcolo avviene interamente nel navigatore e quanto inserite non è trasmesso ad alcun servente.
Consigli
- Basta incollare un file di configurazione prima e dopo una modifica — un file di ambiente, YAML, JSON — per vedere a colpo d'occhio quali righe siano state aggiunte o eliminate.
- Anche in un ambiente privo di un sistema di controllo di versione, con un semplice copia e incolla si possono fare una revisione sommaria del codice o una rilettura di uno scritto.
- Il riordinamento di una riga è rilevato come eliminazione più aggiunta: attenzione, perché anche una riga identica spostata altrove risulta come differenza.
- Il confronto è rigoroso fino al singolo carattere e comprende spazi, ritorni a capo e distinzione fra maiuscole e minuscole: anche una riga in cui sia cambiato soltanto il rientro risulta modificata.
- Confrontando testi lunghi, conviene riunire ciascun capoverso su una riga prima di incollare: le differenze risulteranno più leggibili per capoverso.
Domande frequenti
A proposito — come si ricavano le differenze con la sottosuccessione comune più lunga
Fra gli algoritmi per rilevare le differenze fra due testi è largamente noto il metodo pubblicato negli anni Settanta dall'informatico Eugene Myers, allora presso IBM. I comandi di confronto dei principali sistemi di controllo di versione adottano algoritmi di quella famiglia e rilevano con efficienza le aggiunte e le eliminazioni riga per riga. Anche questo strumento segue quell'impostazione e riduce al minimo le modifiche mostrate cercando la sottosuccessione comune più lunga.
La sottosuccessione comune più lunga è, fra le sottosuccessioni presenti in entrambe le successioni — qui le sequenze di righe — quella di maggiore lunghezza. Le differenze si ottengono considerando eliminate o aggiunte le righe che non vi appartengono: più essa è lunga, meno modifiche compaiono a schermo. Grazie alla tecnica della programmazione dinamica, il calcolo resta praticabile in tempi ragionevoli anche con testi di molte righe.
Gli algoritmi di confronto hanno però un punto debole. Quando una riga si limita a spostarsi altrove, molte realizzazioni non la riconoscono come spostamento e la presentano come combinazione di eliminazione e aggiunta. È per questo che, confrontando testi in cui l'ordine delle righe è molto cambiato, le differenze possono apparire assai più numerose delle modifiche reali: saperlo aiuta a leggere correttamente i risultati.