BrowserTools
Publicidade
Início / Diversos / Verificador de Diferenças (Comparar Texto)

Verificador de Diferenças (Comparar Texto)

Compara dois blocos de texto linha a linha e vê exatamente o que foi adicionado, removido ou mantido, inteiramente no teu navegador.

A carregar Verificador de Diferenças (Comparar Texto)… Se nada acontecer, ativa o JavaScript.

Um verificador de diferenças compara dois pedaços de texto e realça o que mudou entre eles. Cola um original à esquerda e uma versão revista à direita, e a ferramenta alinha-os e marca cada linha como inalterada, adicionada ou removida, com números de linha para ambos os lados e uma contagem contínua das diferenças. É a mesma ideia por trás das vistas lado a lado que vês ao rever código, editar contratos ou rever rascunhos.

Perguntas frequentes

Compara linha a linha ou caráter a caráter?
Linha a linha. Cada linha do original é comparada com o texto revisto usando um algoritmo de subsequência comum mais longa, e linhas inteiras são marcadas como adicionadas, removidas ou inalteradas. Esta é a vista mais legível para prosa, ficheiros de configuração e código, onde as edições acontecem naturalmente ao nível da linha.
O que fazem 'ignorar maiúsculas/minúsculas' e 'ignorar espaços em branco'?
Mudam a forma como duas linhas são consideradas iguais. 'Ignorar maiúsculas/minúsculas' trata 'Hello' e 'hello' como a mesma linha. 'Ignorar espaços em branco' colapsa sequências de espaços e tabulações e apara as extremidades, de modo que linhas que diferem apenas na indentação ou no espaçamento são tratadas como inalteradas. O texto original é sempre apresentado tal como o escreveste; apenas a comparação é afetada.
O meu texto é carregado para um servidor?
Não. A comparação é executada inteiramente no teu navegador com JavaScript. Nenhum dos blocos de texto sai do teu dispositivo, por isso é seguro para documentos confidenciais, contratos e código privado.
Que algoritmo utiliza?
Calcula a subsequência comum mais longa (LCS) das duas listas de linhas e depois recua para etiquetar cada linha. Esta é a abordagem clássica usada pelo utilitário diff do Unix e pelas ferramentas de revisão de código, e produz conjuntos de alterações mínimos e intuitivos.
Consegue comparar JSON, código ou CSV?
Sim, qualquer texto simples funciona. Para JSON em concreto, formatá-lo primeiro (por exemplo com um formatador de JSON) para que cada propriedade fique na sua própria linha torna a diferença muito mais significativa, porque a comparação baseada em linhas pode então isolar o campo exato que mudou.
Existe um limite de tamanho?
Não há um limite rígido. O LCS baseado em linhas usa memória proporcional ao produto das duas contagens de linhas, por isso ficheiros extremamente grandes (dezenas de milhares de linhas cada) podem ficar lentos, mas documentos e ficheiros de código típicos são comparados instantaneamente.

Sobre Verificador de Diferenças (Comparar Texto)

Por dentro, usa a subsequência comum mais longa, o algoritmo padrão por trás de ferramentas como o comando diff do Unix e os ecrãs de revisão de plataformas como o GitHub. Em vez de comparar caráter a caráter, encontra a sequência mais longa de linhas que as duas versões partilham e trata tudo o resto como uma inserção ou uma eliminação, o que produz um resultado limpo e legível que corresponde à forma como as pessoas pensam sobre as edições. As opções permitem-te ignorar maiúsculas e minúsculas ou ignorar diferenças de espaços em branco, para que te possas concentrar nas alterações substanciais e não te distraíres com a reformatação.

Tudo acontece localmente no teu navegador. Os dois textos nunca são carregados, o que torna a ferramenta segura para comparar contratos, ficheiros de configuração, notas privadas ou código por publicar. Não há limite de comprimento para além da memória do teu dispositivo, e a comparação é instantânea para os documentos que as pessoas comparam na prática.

O diff que move o mundo

O utilitário diff foi escrito no início dos anos 70 nos Bell Labs, com Douglas McIlroy a conceber o algoritmo central e a teoria publicada mais tarde com James Hunt. A sua tarefa parece humilde, indicar o menor conjunto de alterações entre dois ficheiros, mas essa única capacidade tornou-se a base da colaboração moderna em software. Sem ela não há patch, não há revisão de código, não há fusão.

Todos os sistemas de controlo de versões desde então, desde os primeiros SCCS e RCS até ao Git, são construídos sobre a capacidade de calcular e aplicar diferenças. Quando vês uma comparação lado a lado a verde e vermelho num pedido de integração, estás a ver um descendente direto daquele algoritmo dos anos 70. A mesma maquinaria alimenta silenciosamente o histórico de revisões de documentos, a deteção de desvios de configuração e a funcionalidade de 'registar alterações' dos processadores de texto, o que torna o diff uma das invenções mais usadas da informática de que a maioria das pessoas nunca ouve falar.

Publicidade
Publicidade
Publicidade