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

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

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

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

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

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

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

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

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

  1. تفرع المستودع: Fork مستودع Ultralytics YOLO إلى حساب GitHub الخاص بك.

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

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

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

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

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

توقيع CLA

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

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

I have read the CLA Document and I sign the CLA

Googleسلاسل المستندات ذات الطراز -Style Docstrings

When adding new functions or classes, include a Google-style docstring to provide clear and concise documentation for other developers. This helps ensure your contributions are easy to understand and maintain.

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

يعرض هذا المثال سلسلة مستندات على غرار 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 المشاريع. مشاركتك أمر بالغ الأهمية في تشكيل مستقبل برنامجنا وتعزيز مجتمع من الابتكار والتعاون. سواء كنت تعمل على تحسين التعليمات البرمجية أو الإبلاغ عن الأخطاء أو اقتراح ميزات ، فإن مساهماتك تحدث تأثيرا كبيرا.

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

الأسئلة المتداولة

لماذا يجب أن أساهم في مستودعات Ultralytics YOLO مفتوحة المصدر؟

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

كيف يمكنني التوقيع على اتفاقية ترخيص المساهمين (CLA) الخاصة بـ Ultralytics YOLO ؟

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

I have read the CLA Document and I sign the CLA

لمزيد من المعلومات، راجع قسم توقيع CLA.

ما هي سلاسل المستندات Google ولماذا هي مطلوبة للمساهمات Ultralytics YOLO ؟

Google-style docstrings provide clear and concise documentation for functions and classes, enhancing readability and maintainability of the code. These docstrings outline the function's purpose, arguments, and return values with specific formatting rules. When contributing to Ultralytics YOLO, adhering to Google-style docstrings ensures that your additions are comprehensible and well-documented. For examples and guidelines, visit the Google-Style Docstrings section.

كيف يمكنني ضمان اجتياز التغييرات التي أجريتها لاختبارات GitHub Actions CI؟

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

كيف يمكنني الإبلاغ عن خطأ في مستودعات Ultralytics YOLO ؟

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



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-04
المؤلفون: جلين-جوتشر (8)، مساعد أولتراليتكس (1)

التعليقات