راجع قبل التطبيق
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
جمّع العقد المرقمة بالروابط غير الموجهة باستخدام مجموعات منفصلة.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
اختبر العقد المعزولة والحواف المكررة والرسم الفارغ وارفض الأطراف غير الصالحة قبل أي دمج.
def components(count, edges):
if type(count) is not int or not 0 <= count <= 10000:
raise ValueError("node count")
pairs = list(edges)
for pair in pairs:
if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
raise ValueError("edge endpoint")
parent = list(range(count))
def find(x):
while parent[x] != x:
parent[x] = parent[parent[x]]
x = parent[x]
return x
for a, b in pairs:
parent[find(b)] = find(a)
groups = {}
for node in range(count): groups.setdefault(find(node), []).append(node)
return sorted(groups.values())UnionPebble مساحة عمل للبرمجة بالذكاء الاصطناعي على Windows لجمع متطلب التجميع وشيفرته المصدرية ومستهلكيه في محادثة تطوير واحدة. ابدأ بوصف ما يعتبره التطبيق متصلا وما يتوقع تلقيه. اطلب من النموذج فحص التمثيل الحالي قبل اقتراح تغييرات على الشيفرة التي تنشئ المجموعات.
لمهمة ملموسة، استخدم components.py لمناقشة اتصال يصل مجموعتين منفصلتين سابقا. أدرج عقدة معزولة في حالة الاختبار وحدد ترتيب المخرج المتوقع. يساعدك المثال على صياغة طلب تغيير دون افتراض أن مجموعة مكافئة رياضيا ستلبي متطلبات شيفرة التسلسل أو العرض في التطبيق.
راجع الاقتراح عند تلك الحدود. افحص معرّفات العقد المقبولة والحواف غير الصالحة والحالة الفارغة، ثم شغّل فحوص المشروع المعنية. ينبغي أن تشرح النتيجة المفيدة لماذا ينتمي الأعضاء معا ولماذا تلائم البنية المعادة مستهلكها. أبق تغييرات التخزين أو الواجهة غير المرتبطة خارج طلب يهدف إلى إصلاح سلوك التجميع.
صِل نموذجا عبر نقطة نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic، مع توفير بيانات الاعتماد عند الحاجة. إذا وفرت الخدمة نموذج ذكاء اصطناعي منزوع القيود، فهو خيار للجلسة؛ وتظل القيود معتمدة على المزود. تعتمد الأدوات المتاحة والسياق أيضا على النموذج والخادم، لذا احصر الفحص في المصدر والأدلة التي تستطيع الجلسة استخدامها فعليا.
حدد هذا التوقع صراحة. قد لا تذكر قائمة الحواف عقدة معزولة قط، رغم أن التطبيق يعلم بوجودها. أدرج عدد العقد المعلن وحالة معزولة كيلا تتخلص الشيفرة المقترحة بصمت من هذه العناصر في النتيجة.
نعم، إذا اعتمد مستهلك على ترتيب ثابت للتسلسل أو المقارنة أو العرض. حدد هل الترتيب جزء من الواجهة، ثم افحص اصطلاح المخرج. لا يثبت التكافؤ الرياضي وحده التوافق مع اللقطات أو المعالجة اللاحقة في مشروعك.
حدد سلوك المدخل المرفوض وافحص أين يظهر. يتحقق المثال من المعرّفات مقابل عدد العقد المعلن. راجع استجابة المستدعي بدلا من افتراض أن استثناء وحده يبلغ من قدم بيانات التجميع بخطأ مفيد.
اكتب المجموعات الابتدائية والعضوية المدمجة المتوقعة باستقلالية، بما فيها مجموعة غير متأثرة. شغّل الحالة عبر الشيفرة المعدلة وافحص الترتيب منفصلا. يمنح ذلك المراجعة نتيجة ملموسة قبل التغيير وبعده دون تكرار التنفيذ داخل الاختبار.
UnionPebble · آخر تحديث 2026-10-25