HeadlinesBriefing favicon HeadlinesBriefing.com

RealDiff: مقارنة سلوك وقت التشغيل لطلبات السحب

Hacker News •
×

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

يمكن لإعادة بناء تبدو غير ضارة أن تغير السلوك بعيداً عن الملف المحرر. على سبيل المثال، استبدال List.Sort بـ OrderBy يغير محرك تسعير غير محرر. في العرض التوضيحي، كان Discount Engine.Select Discount يعيد "CLEARANCE_40"، والآن يعيد "SEASONAL_15". كان Checkout Totals.Compute يعيد 60، والآن يعيد 85. المساعد المحرر موجود في Infrastructure.Collections؛ التأثير المرصود موجود في Commerce.Pricing. اثنان من الاختبارات الثلاثة التي نفذت ذلك لم يؤكدوا على التغيير.

قم بتشغيل العرض التوضيحي المضمن أو افحص طلب سحب العرض التوضيحي العام لـ .NET المُدار وتشغيله المستضاف الناجح. ينشئ الإثبات شجرة تغييرات مقترحة مؤقتة، ويغير فقط Sorting Extensions.cs، ويشغل الأساس مرتين بالإضافة إلى التغيير مرة واحدة، ويكتب findings.json. يتحقق من أن الملف المحرر يساهم بأzero أعضاء متتبعين، وأن الحدود هي Commerce.Pricing.Discount Engine.Select Discount في مشروع غير محرر، وأن موقعي استدعاء تغيرا دون رد فعل أي تأكيد، وأن خمسة مفاتيح متباينة تنهار إلى ثلاث عقد حدودية، وأن التحديد ذو الأولوية المتساوية حتمي عبر العمليات الجديدة.

تطبق بوابات .NET و Java و Node و Go و Rust و Python المُدارة نفس قواعد المطابقة: مجموعات طرق متطابقة، وعدد الأحداث لكل مفتاح وترتيب الإدخالات، ومصائد المصدر، وأدلة الملخصات، وعدم وجود تباين في المحرك من عمليات التشغيل غير الفارغة. الحالة: معاينة مبكرة.

الكيانات الرئيسية: الأشخاص: issacnitin | المواقع: GitHub، Azure DevOps، MCP