سؤال

هل يمكنك التوصية بأداة مقارنة جيدة للمقارنة التي يمكن التعامل معها بشكل جيد للغاية. لقد جربت كل من Winmerge و BeyondCompare و Kdiff وهم ليسوا جيدين بما فيه الكفاية ، على سبيل المثال ، إذا كان لدي وظائف تحمل نفس الاسم ولكن وضعت في مناطق مختلفة من الملف التي يظهرونها كاختلافات.

هل كانت مفيدة؟

المحلول

[تحديث (2015): منذ كتابة هذه الإجابة ، توجد الآن أدوات أكثر حداثة يمكنها القيام بدمج هيكلي ودليلي للترميز في لغات مختلفة. يرى إجابة جوتابي لبعض الأمثلة

الإجابة الأصلية (2010): لسوء الحظ ، هذا هو نوع من طبيعة الفرق. لقد كانت دائمًا خطًا عن طريق الخط ، فهي ليست مقارنة بين اللغة. بقدر ما أدرك أنه لا يوجد شيء يفعل ما تطلبه (من الممكن دائمًا أن أكون مخطئًا).

يمكنك استخدام أداة مثل المنطقة لتوحيد تخطيط الفصل قبل إجراء المقارنة. هذا من شأنه أن يطلب جميع أساليبك ، لذلك لن تواجه مشكلة في طريقة تحمل نفس الاسم في أماكن مختلفة في ملف.

نصائح أخرى

في هذه اللحظة (أبريل 2015) ، هناك ما لا يقل عن 3 أدوات مقارنة تجارية لها في الاعتبار بنية ملفات الرمز C# لإنشاء فرق متقدم ودمج بين ملفات التعليمات البرمجية:

تدعم هذه الأدوات الثلاث هذا النوع من المقارنة المتقدمة فقط على الإصدارات المدفوعة (أو الفترات التجريبية). AFAIK لا توجد أداة مجانية يمكنها القيام بذلك.

الأداة الوحيدة التي أدرك أنها قد تكون قادرة على القيام بذلك (لست متأكدًا من ذلك) شخص سخيف.

على حد علمي ، يمكن أن تتبع الوظائف حتى لو تم نقلها إلى ملفات مختلفة ، لذلك فإن استخدامه في هذا السيناريو لن يظهر فرقًا.

يرى هذا الجواب لمزيد من التفاصيل.

انا استخدم Devart Codecompare لهذه المهمة. يسمح لي المحرر الأصلي VS بالتعامل مع C# و VB جيدًا. يسمون هذه الميزة "مقارنة الهيكل". سيكون مفيدًا لك.

لا أعتقد أنك ستجد نصًا يقارن الأداة المساعدة التي سيفعل ذلك. من الأفضل لك إعادة تنظيم الوظائف حتى تكون في نفس الأماكن. لقد رأيت رمز المصمم الذي تم إنشاؤه يقوم بذلك (أي ، تحرك الوظائف حول كل مرة يتم فيها تجديد الملف). إنه أمر مزعج ، لكنني لا أعتقد أنك ستجولها. BeyondCompare هي حقا واحدة من أفضل أدوات المقارنة الموجودة هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top