A comparação de texto (diff) é o processo que encontra e mostra automaticamente, a cores, as diferenças entre dois textos, documentos ou trechos de código. O objetivo é ver rapidamente que partes foram adicionadas, quais foram removidas, e em que medida ambas as versões se parecem. Esta ferramenta alinha os dois textos usando a sua subsequência comum mais longa (LCS); as partes que só se encontram no primeiro texto são destacadas a vermelho, e as partes que só se encontram no segundo texto são destacadas a verde.
Como comparo dois textos?
- Colar / carregar — introduz os textos em ambas as caixas, ou carrega-os a partir de um ficheiro.
- Escolher um modo — linha para código, palavra para texto simples, carácter para a diferença mais fina.
- Opções — ignora maiúsculas/minúsculas, espaços, ou pontuação se precisares.
- Vista — alterna entre a vista lado a lado (duas colunas) e em linha (combinada).
O que é um diff, e como funciona?
Esta ferramenta usa a sua própria implementação em JavaScript puro do algoritmo LCS (Longest Common Subsequence) — não é carregada nenhuma biblioteca externa. As secções comuns no início e no fim de ambos os textos são removidas primeiro (na maioria das alterações, a maior parte do texto não muda), e a programação dinâmica encontra a sequência comum mais longa na secção central restante. Assim, mesmo textos de vários milhares de linhas são processados rapidamente no teu navegador.
Como se calcula a percentagem de semelhança?
Por exemplo, se 90 das 100 palavras de dois textos coincidem, 6 palavras foram removidas e 8 palavras foram adicionadas, a semelhança é (2×90) / (2×90 + 8 + 6) × 100 ≈ 92,8%. O modo carácter oferece a percentagem mais precisa; o modo linha mede a semelhança estrutural.