اصطلاحات التسمية
تحدد هذه الصفحة قواعد التسمية الداخلية التي تجعل مساحة العمل قابلة للتوقع للمساهمين.
الأهداف
- تسهيل توقع مكان الشيفرة قبل فتح الملفات
- توحيد أسماء الإضافات والمجموعات والحالات والمكوّنات بين الحزم
- حجز ألفاظ التوافق للحالات التي تحافظ فعلًا على سلوك قديم
أسماء الوحدات
- استخدم
modelلتمثيل نموذج البيانات المعرّف من طرف المستخدم أو الدوال النقية التي تتحقق منه وتطبّعه - استخدم
runtimeلعلاماتECSالداخلية، وتتبع الأبناء المُولّدين، والأنظمة التي تملك الشجرة الحية للوحدة - استخدم
stateللحالة طويلة العمر التي تقرؤها وتحدّثها عدة أنظمة - استخدم
eventsللرسائل الصادرة وللشيفرة التي تترجم تغيّر الحالة إلى إشعارات خارجية - استخدم
translationلمنطق تحويل البيانات المعرّفة إلى إعدادات runtime أو solver - استخدم
placementلمنطق تموضع الأبناء بعد معرفة الأحجام - تجنب الأسماء العامة مثل
typesأوhelpersأوdisplayعندما يتوفر اسم أكثر دقة
أسماء الأنواع
- يجب أن تتبع الإضافات النمط
Univis<Name>Plugin - يجب أن تتبع مجموعات الجدولة النمط
Univis<Domain>SetأوUnivis<Stage>Set - يجب أن تحتفظ مكوّنات الواجهة العامة بالبادئة
U* - يجب أن تستعمل علامات runtime الداخلية أسماء صريحة مثل
SelectTriggerأوPanelResizeHandleأوUiWorkState - يجب أن تنتهي الموارد التي تضبط السلوك باللاحقة
Settings - يجب أن تنتهي الموارد أو المكوّنات التي تتتبع التقدّم الحي باللاحقة
State
التعليقات
- اجعل تعليقات التنفيذ باللغة الإنجليزية
- فضّل التعليقات التي تشرح القيود أو الثوابت أو سبب وجود فرع معين
- احذف التعليقات التي تعيد فقط ما تقوله السطر التالية حرفيًا
أسماء التوافق والأنماط القديمة
- استخدم
legacy_*فقط عندما تحافظ الشيفرة عمدًا على دلالة قديمة - أبقِ طبقات التوافق المهجورة واضحة في التسمية والتوثيق
- تجنب إضافة أسماء انتقالية جديدة إلا إذا كانت تحمي مسار ترحيل عام حقيقي
قائمة تحقق قبل إعادة التسمية
قبل إنشاء وحدة جديدة أو إعادة تسميتها، تأكد من:
- هل يصف اسم الملف المسؤولية بدلًا من التفصيل التنفيذي؟
- هل يستطيع مساهم جديد أن يعرف هل تنتمي الشيفرة إلى
modelأوruntimeأوstateأوeventsأوtranslationأوplacement؟ - هل يطابق الاسم الجديد أنماط الإضافات والمكوّنات والحالات الموجودة في الوحدات الشقيقة؟