نص UUID بصيغته القياسية
حوّل UUID قياسيا بحروف صغيرة إلى ستة عشر بايتا دون استنتاج الإصدار أو الهوية.
import re
UUID_TEXT = re.compile(r"[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}")
def uuid_bytes(text):
if not isinstance(text, str) or not UUID_TEXT.fullmatch(text):
raise ValueError("canonical lowercase UUID required")
return bytes.fromhex(text.replace("-", ""))راجع قبل التطبيق
قارن السلوك الفعلي بالنتيجة المتوقعة. إذا فشل فحص، تحقّق من السبب قبل إجراء تغييرات إضافية.
النماذج
اضبط نقطة اتصال متوافقة مع OpenAI أو Anthropic باستخدام العنوان الأساسي ومفتاح API عند الحاجة. اختبر الاتصال. يجب أن يعمل خادم النموذج المحلي؛ وقد ترسل الأدوات البعيدة البيانات بشكل منفصل.
المشروع
اختبر الأصفار والحروف الست عشرية وارفض الحروف الكبيرة والأقواس والشرطات المزاحة والمسافات المحيطة.
import re
UUID_TEXT = re.compile(r"[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}")
def uuid_bytes(text):
if not isinstance(text, str) or not UUID_TEXT.fullmatch(text):
raise ValueError("canonical lowercase UUID required")
return bytes.fromhex(text.replace("-", ""))اتفق على تمثيل المعرّف عند حدود التطبيق
يمنحك IdSaffron مساحة عمل للبرمجة بالذكاء الاصطناعي على Windows لفحص دوال الحدود الصغيرة التي تربط أجزاء أكبر من التطبيق. عندما تحتاج معالجة المعرّفات إلى تغيير، صف التمثيلات المقبولة وما تتوقعه الشيفرة اللاحقة. اطلب من النموذج فحص أداة التحقق وخطوة التحويل والمستدعي المعني معا، كيلا يوسع تطبيع يبدو غير ضار عقد المدخلات بصمت.
قد تراجع مهمة تستند إلى uuid_text.py قبول نص UUID المعياري بالأحرف الصغيرة قبل تحويله إلى بايتات. قدم أمثلة تختلف في حالة الأحرف أو الفواصل أو المسافات المحيطة، وحدد ما ينبغي رفضه. ناقش هل يأتي التطبيع قبل التحقق أم يجب أن يقدم المستدعي الصيغة المعيارية. تجعل هذه القرارات التعديل المقترح محددا بما يكفي لمراجعته مقابل الشيفرة.
بعد المراجعة، شغّل اختبارات المشروع التي تفحص البايتات الناتجة والتمثيلات المرفوضة معا. افحص كيف يبلغ التطبيق عن المعرّفات غير الصالحة، بما فيها المسارات التي افترضت سابقا أن التحويل لا يفشل. يتصل IdSaffron بنقاط نهاية مدعومة متوافقة مع OpenAI أو تابعة لـ Anthropic مع بيانات اعتماد عند الحاجة. تعتمد خيارات النماذج غير المقيّدة على نقطة النهاية المختارة؛ وتظل القيود والأدوات المتاحة وسعة السياق خصائص لذلك النموذج والخادم. تمنح أمثلة القبول محادثة البرمجة مرجعا ثابتا عبر المراجعات.
حدود المعرّفات التي تستحق إجابة صريحة
هل ينبغي للدالة قبول معرّفات بالأحرف الكبيرة أيضا؟
قرر انطلاقا من عقد التطبيق بدلا من إضافة تساهل تلقائيا. إذا طلب المستدعون نصا معياريا بالأحرف الصغيرة، فقد يخفي قبول صيغ أخرى عدم اتساق سابقا في المسار. إن كان التطبيع مقصودا، فحدد موضعه واختبر التمثيل الناتج.
هل يثبت المعرّف الصالح وجود سجل؟
لا. يثبت التحقق من التنسيق فقط أن التمثيل المقدم يطابق الشكل المتوقع. ينتمي الوجود والتخويل إلى فحوص منفصلة للتطبيق، لذا راجع المستهلك قبل اعتبار نجاح التحويل إذنا للوصول إلى سجل.
لماذا أفحص البايتات مع النص المقبول؟
لا يثبت القبول وحده أن التحويل ينتج القيمة التي يتوقعها المستهلك. أدرج أزواجا معروفة من النص والبايتات وتحقق من المعالجة اللاحقة، خاصة إذا غيّر التعديل المقترح حدود التسلسل أو التخزين المستخدمة في مواضع أخرى من المشروع.
ماذا إن كان المستدعون يزيلون المسافات المحيطة بالفعل؟
افحص ذلك السلوك قبل تكراره. اتفق على ما إذا كانت هذه الدالة تتلقى مدخلا مطبعا أم تطبعه بنفسها. إبقاء المسؤولية صريحة يسهل فهم قواعد الرفض ويمنع المعالجة غير المتسقة عبر مسارات الاستدعاء المختلفة.
IdSaffron · آخر تحديث 2026-10-25