انتقل إلى المحتوى

المساهمة في Ultralytics المصدر المفتوح YOLO المستودعات

بادئ ذي بدء ، شكرا لك على اهتمامك بالمساهمة في Ultralytics المصدر المفتوح YOLO المستودعات! ستساعد مساهماتك في تحسين المشروع وإفادة المجتمع. يوفر هذا المستند إرشادات وأفضل الممارسات لمساعدتك على البدء.

جدول المحتويات

  1. مدونة قواعد السلوك
  2. المساهمة عبر طلبات السحب
  3. الإبلاغ عن الأخطاء
  4. ترخيص
  5. استنتاج

مدونة قواعد السلوك

يتوقع من جميع المساهمين الالتزام بمدونة قواعد السلوك لضمان بيئة ترحيبية وشاملة للجميع.

المساهمة عبر طلبات السحب

نرحب بالمساهمات في شكل طلبات سحب. لجعل عملية المراجعة أكثر سلاسة، يرجى اتباع الإرشادات التالية:

  1. شوكة المستودع: شوكة Ultralytics YOLO مستودع لحساب GitHub الخاص بك.

  2. إنشاء فرع: أنشئ فرعا جديدا في مستودعك المتشعب باسم وصفي للتغييرات.

  3. إجراء التغييرات: قم بإجراء التغييرات التي تريد المساهمة بها. تأكد من أن تغييراتك تتبع نمط الترميز الخاص بالمشروع ولا تقدم أخطاء أو تحذيرات جديدة.

  4. اختبار التغييرات: اختبر التغييرات محليا للتأكد من أنها تعمل كما هو متوقع ولا تقدم مشاكل جديدة.

  5. تنفيذ التغييرات: نفذ تغييراتك برسالة تنفيذ وصفية. تأكد من تضمين أي أرقام مشاكل ذات صلة في رسالة الالتزام.

  6. إنشاء طلب سحب: إنشاء طلب سحب من مستودعك المتشعب إلى المستودع الرئيسيUltralytics YOLO مستودع. في وصف طلب السحب ، قدم شرحا واضحا للتغييرات التي أجريتها وكيفية تحسينها للمشروع.

توقيع CLA

قبل أن نتمكن من قبول طلب السحب الخاص بك ، تحتاج إلى التوقيع على اتفاقية ترخيص المساهم (CLA). هذه وثيقة قانونية تنص على موافقتك على شروط المساهمة في Ultralytics YOLO المستودعات. تضمن CLA أن مساهماتك مرخصة بشكل صحيح وأنه يمكن الاستمرار في توزيع المشروع بموجب AGPL-3.0 ترخيص.

للتوقيع على CLA ، اتبع التعليمات المقدمة من روبوت CLA بعد إرسال العلاقات العامة الخاصة بك وإضافة تعليق في العلاقات العامة الخاصة بك يقول:

I have read the CLA Document and I sign the CLA

سلاسل مستندات على غرار Google

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

مثال على سلاسل المستندات

يوضح هذا المثال كلا من سلاسل المستندات على غرار Google. لاحظ أن كلا من المدخلات والمخرجات types يجب أن تكون محاطة دائما بأقواس ، أي (bool).

def example_function(arg1, arg2=4):
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1 (int): The first argument.
        arg2 (int): The second argument. Default value is 4.

    Returns:
        (bool): True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

يعرض هذا المثال كلا من سلاسل المستندات على غرار Google وتلميحات الوسيطة ونوع الإرجاع ، على الرغم من أن كلاهما غير مطلوب ، يمكن استخدام أحدهما دون الآخر.

def example_function(arg1: int, arg2: int = 4) -> bool:
    """
    Example function that demonstrates Google-style docstrings.

    Args:
        arg1: The first argument.
        arg2: The second argument. Default value is 4.

    Returns:
        True if successful, False otherwise.

    Examples:
        >>> result = example_function(1, 2)  # returns False
    """
    if arg1 == arg2:
        return True
    return False

يمكن للوظائف الأصغر أو الأبسط استخدام docstring أحادي السطر. لاحظ أن docstring يجب أن تستخدم 3 علامات اقتباس مزدوجة ، وأن تكون جملة كاملة تبدأ بحرف كبير وتنتهي بنقطة.

def example_small_function(arg1: int, arg2: int = 4) -> bool:
    """Example function that demonstrates a single-line docstring."""
    return arg1 == arg2

اختبارات CI لإجراءات GitHub

قبل دمج طلب السحب الخاص بك ، يجب اجتياز جميع اختبارات التكامل المستمر (CI) لإجراءات GitHub. تتضمن هذه الاختبارات الفحص واختبارات الوحدة والفحوصات الأخرى للتأكد من أن تغييراتك تفي بمعايير الجودة للمشروع. تأكد من مراجعة مخرجات إجراءات GitHub وإصلاح أي مشكلات

الإبلاغ عن الأخطاء

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

ترخيص

Ultralytics يحتضن رخصة جنو أفيرو العمومية العامة v3.0 (AGPL-3.0) لمستودعاتها، وتعزيز الانفتاح والشفافية والتحسين التعاوني في تطوير البرمجيات. يضمن هذا الترخيص القوي المتروك الحقوق أن يحتفظ جميع المستخدمين والمطورين بحرية استخدام البرنامج وتعديله ومشاركته. إنه يعزز التعاون المجتمعي ، مما يضمن أن تظل أي تحسينات في متناول الجميع.

يتم تشجيع المستخدمين والمطورين على التعرف على شروط AGPL-3.0 للمساهمة الفعالة والأخلاقية في Ultralytics مجتمع مفتوح المصدر.

استنتاج

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

نحن حريصون على رؤية أفكارك على أرض الواقع ونقدر التزامك بتطوير تقنية اكتشاف الأشياء. دعونا نستمر في النمو والابتكار معا في هذه الرحلة المثيرة مفتوحة المصدر. ترميز سعيد! 🚀🌟



تم النشر في 2023-11-12, اخر تحديث 2024-01-24
المؤلفون: جلين جوشر (3)

التعليقات