Cole dois blocos de texto e veja adições, remoções e alterações destacadas. Diff a nível de caractere com vista lado a lado ou inline.
Insira texto em ambos os campos para ver as diferenças
As duas funções acima computam o mesmo resultado usando abordagens diferentes. A original usa um loop for imperativo com uma variável let mutável. A versão modificada usa Array.reduce com um const. O diff destaca exatamente o que mudou durante esta refatoração.
O algoritmo Myers é a fundação da maioria das ferramentas diff. Modela a comparação como um problema de menor script de edição: dadas duas sequências de linhas, encontre o número mínimo de inserções e exclusões para transformar a primeira na segunda.
Patience diff primeiro identifica linhas que aparecem exatamente uma vez em cada arquivo (linhas únicas), usa estas como âncoras, e depois aplica recursão nas regiões entre âncoras.
Após encontrar quais linhas mudaram, uma ferramenta diff pode aplicar o mesmo algoritmo a nível de caractere dentro de cada linha alterada.
@@ -1,7 +1,8 @@
function calculateTotal(items) {
- let total = 0;
- for (let i = 0; i < items.length; i++) {
- total += items[i].price * items[i].quantity;
- }
+ const total = items.reduce(
+ (sum, item) => sum + item.price * item.quantity,
+ 0
+ );
return total;
}
Lado a lado coloca o original à esquerda é o modificado à direita. É melhor para código e texto estruturado.
Vista inline intercala linhas removidas e adicionadas em uma única coluna. É mais compacta.
Git diff funciona apenas em arquivos em um repositório git. Para conteúdo fora de um repo, ou para comparar coisas que não existem como arquivos, uma ferramenta diff online é a escolha prática.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.