Metin karşılaştırma (diff), iki metin, belge ya da kod bloğu arasındaki farkları otomatik olarak bulup renkli biçimde gösterme işlemidir. Amaç, hangi kısımların eklendiğini, hangilerinin silindiğini ve iki sürümün ne kadar benzediğini tek bakışta görmektir. Bu araç, iki metni ortak en uzun alt diziye (LCS) göre hizalar; sadece ilk metinde olan kısımları kırmızı, sadece ikinci metinde olanları yeşil vurgular.
İki metin nasıl karşılaştırılır?
- Yapıştır / yükle — metinleri iki kutuya girin veya dosyadan okutun.
- Mod seç — kod için satır, düz yazı için kelime, en ince fark için karakter.
- Seçenekler — gerekirse büyük-küçük harf, boşluk veya noktalama farklarını yoksayın.
- Görünüm — yan yana (iki sütun) veya satır içi (birleşik) arasında geçiş yapın.
Diff (fark) nedir ve nasıl çalışır?
Bu araç LCS (Longest Common Subsequence) algoritmasının kendi saf-JavaScript uygulamasını kullanır — harici kütüphane yoktur. Önce iki metnin ortak baş ve son kısımları kırpılır (çoğu düzenlemede metnin büyük kısmı ortaktır), kalan orta bölümde dinamik programlama ile en uzun ortak dizi bulunur. Böylece binlerce satırlık metinler bile tarayıcıda hızla işlenir.
Benzerlik oranı nasıl hesaplanır?
Örneğin 100 kelimelik iki metinde 90 kelime eşleşiyor, 6 kelime silinmiş ve 8 kelime eklenmişse benzerlik = (2×90) / (2×90 + 8 + 6) × 100 ≈ %92,8 olur. Karakter modu en hassas oranı verir; satır modu ise yapısal benzerliği ölçer.