TK TaskKit
أدوات المطورين

مدقّق الفروقات

قارن نصّين جنباً إلى جنب أو موحّداً. خيارات لتجاهل المسافات وحالة الأحرف.

الأصلي
المعدّل
الفرق
الصق نصّين لرؤية ما تغيّر سطراً بسطر.

إدخالاتك تبقى على جهازك. كل أدوات المطورين في TaskKit تعمل في متصفحك. الرموز والـ payloads وما تلصقه لا يُرسل لخوادم TaskKit ولا لأي طرف ثالث.

ما الذي تفعله هذه الأداة

تقارن نصّين وتعرض الفروقات إمّا جنباً إلى جنب أو كفرق موحّد. خيارات اختيارية لتجاهل المسافات في البداية والنهاية وتجاهل حالة الأحرف. يُحتسب الفرق على مستوى الأسطر (لا الأحرف)، وهذا ما تريده للكود وملفات الإعدادات والنثر.

متى تستخدمها

  • اكتشاف ما تغيّر بين استجابتي API.
  • مراجعة تعديلات على ملف إعدادات حين لا توجد لديك نسخة في git.
  • مقارنة رسالتي خطأ لإيجاد الكلمة الواحدة المختلفة.
  • التحقّق من أن جولة نسخ-لصق لم تُدخِل أحرفاً غير مرئية.

كيف تعمل

الخوارزمية حساب أطول تتابع جزئي مشترك (LCS)، وهو الأسلوب نفسه الذي يستخدمه git diff. التعقيد تقريباً O(n × m) في عدد الأسطر، لذا نحدّ المدخلات بـ 2500 سطر لكل جانب لإبقاء الأداء متوقَّعاً. تُقرَن الأسطر المتطابقة معاً؛ والأسطر التي توجد في جانب واحد فقط تُعلَّم إضافات أو حذوفات.

ملاحظات

لماذا سطراً بسطر لا حرفاً بحرف؟ لأن معظم الفروقات الحقيقية تتعلّق بالأسطر. الفروقات على مستوى الأحرف صاخبة على أي شيء أطول من جملة. إن احتجت فرقاً حرفياً فعلياً فاستخدم git diff --word-diff محلياً.

هل تجاهل المسافات يتجاهل Tab مقابل المسافات؟ نعم — يعامل هذا الخيار أي تتابع للمسافات على أنه مكافئ لأي تتابع آخر، وهذا مفيد حين أُعيد تنسيق ملف لكن المحتوى يبقى ذاته.

ماذا يحدث فوق 2500 سطر؟ ترفض الأداة العرض وتطلب منك التقليص. LCS تربيعية؛ عند 100 ألف سطر يتجمّد التبويب لدقائق.

أدوات ذات صلة