1. O Que E Diff de Texto
Diff (de "difference") e o processo de comparar dois textos para identificar o que foi adicionado, removido ou modificado. Originado no mundo Unix nos anos 1970, o diff se tornou fundamental no desenvolvimento de software, controle de versao e edicao colaborativa de documentos.
2. Algoritmo LCS
Nossa ferramenta utiliza o algoritmo LCS (Longest Common Subsequence) para encontrar a maior sequencia de elementos comum entre os dois textos. A partir dessa sequencia, e possivel determinar com precisao quais linhas foram adicionadas, removidas ou mantidas.
"O LCS e o mesmo algoritmo usado por ferramentas como git diff, sendo considerado o padrao-ouro para comparacao de textos."
3. Modos de Visualizacao
- Unificado (git-style): formato compacto que mostra todas as mudancas em uma unica coluna, com prefixos + e - para indicar adicoes e remocoes.
- Split View: dois paineis lado a lado com scroll sincronizado, facilitando a comparacao visual.
- Palavra a Palavra: compara dentro das linhas, destacando palavras especificas que mudaram.
- Caractere a Caractere: comparacao mais granular, util para detectar mudancas sutis como acentos ou espacos.
4. Casos de Uso
- Desenvolvimento: compare versoes de codigo antes de fazer merge
- Redacao: veja o que mudou entre revisoes de um documento
- Juridico: compare versoes de contratos para identificar alteracoes
- Educacao: compare respostas de alunos ou versoes de trabalhos
- QA: compare outputs esperados vs reais em testes
5. Opcoes de Normalizacao
As opcoes de ignore permitem comparacoes mais flexiveis:
- Ignorar maiusculas: trata "Texto" e "texto" como iguais
- Ignorar espacos: ignora diferencas em espacos em branco e tabulacoes
- Ignorar pontuacao: remove pontuacao antes de comparar
- Ignorar acentos: trata "e" e "e" como iguais, util para textos em portugues
6. Perguntas Frequentes
O texto e enviado para algum servidor?
Nao. Todo o processamento e feito localmente no navegador.
Qual o tamanho maximo de texto?
Nao ha limite rigido, mas textos muito longos (acima de 10.000 linhas) podem ficar lentos, pois o algoritmo LCS tem complexidade O(n*m).
O arquivo .diff gerado e compativel com git?
O formato e similar ao unified diff do git, mas nao inclui cabecalhos de arquivo. Pode ser usado como referencia, mas nao aplicado diretamente com git apply.
O que faz "Aceitar todas as mudancas"?
Aplica todas as mudancas do texto B no texto A, resultando em um texto identico a B.