أداة مقارنة النصوص
قارن كتلتين من النص سطرًا بسطر وشاهد بالضبط ما أُضيف أو حُذف أو بقي دون تغيير.
كيف يعمل
المقارنة هي مقارنة على مستوى الأسطر مبنية على خوارزمية أطول تتابع مشترك (LCS)، وهي نفس عائلة المنطق وراء git diff. يُقسَّم كلا النصين إلى أسطر، ثم تحسب جدول برمجة ديناميكية أكبر مجموعة من الأسطر التي تتشاركها النسختان بالترتيب. يؤدي تتبّع هذا الجدول رجوعًا إلى إنتاج العمليات التي تراها: الأسطر الموجودة فقط في النص الأيسر تُوسَم باللون الأحمر كمحذوفة، والأسطر الموجودة فقط في اليمين تُوسَم باللون الأخضر كمضافة، وتبقى الأسطر المشتركة محايدة، ولكل منها رقم سطرها الأصلي.
المقارنة على مستوى الأسطر هي مفاضلة متعمّدة. يمكن للمقارنات على مستوى الأحرف أن تُظهر أن كلمة واحدة تغيّرت داخل سطر ما، لكنها في المستندات الحقيقية تتحول إلى فوضى من الشظايا: مئات القطع الصغيرة الأصعب في القراءة من مجرد رؤية السطر القديم محذوفًا والجديد مضافًا. تبقى المخرجات على مستوى السطر سهلة القراءة وتتوافق مباشرة مع كيفية عرض مراجعة الكود والتحكم في الإصدارات للتغييرات. يضبط المربعان معنى «التساوي»: تجاهل المسافات يطوي سلاسل المسافات ويقصّ نهايات الأسطر قبل المقارنة (ممتاز للكود المعاد تنسيقه)، وتجاهل حالة الأحرف يحوّل الجانبين إلى أحرف صغيرة. تحتفظ الأسطر المعروضة بتنسيقها الأصلي في كلتا الحالتين.
بما أن جدول البرمجة الديناميكية يكلّف ذاكرة ووقتًا يتناسبان مع (أسطر A) × (أسطر B)، تحدّ الأداة الإدخال بـ 4000 سطر لكل جانب؛ وبعد ذلك الحد، سيحتوي الجدول وحده على عشرات الملايين من الخلايا وسيتلعثم التبويب. ضمن الحد، يعمل كل شيء بشكل متزامن في متصفحك: يعيش كلا النصين فقط في تبويبك، ولا يُطلَق أي طلب عند الكتابة (تحقق من لوحة الشبكة في أدوات المطوّر)، ولا تلمس المسودات أو الإعدادات السرّية خادمًا أبدًا.