Overslaan naar inhoud

Bijdragen aan Ultralytics Open-Source YOLO Repositories

Bedankt voor uw interesse om bij te dragen aan Ultralytics open-source YOLO Repositories! Uw bijdragen zullen het project verbeteren en de hele gemeenschap ten goede komen. Dit document bevat richtlijnen en best practices om u op weg te helpen.

Inhoudsopgave

  1. Gedragscode
  2. Bijdragen via Pull Requests
  3. Bugs rapporteren
  4. Licentie
  5. Conclusie

Gedragscode

Alle medewerkers moeten zich houden aan de Gedragscode om te zorgen voor een uitnodigende en inclusieve omgeving voor iedereen.

Bijdragen via Pull Requests

We verwelkomen bijdragen in de vorm van pull-verzoeken. Volg deze richtlijnen om het beoordelingsproces te stroomlijnen:

  1. Het archief forken: Fork de Ultralytics YOLO repository naar je GitHub account.

  2. Maak een tak: Maak een nieuwe branch aan in je gevorkte repository met een beschrijvende naam voor je wijzigingen.

  3. Breng je wijzigingen aan: Zorg ervoor dat je wijzigingen de coderingsstijl van het project volgen en geen nieuwe fouten of waarschuwingen introduceren.

  4. Test je wijzigingen: Test je wijzigingen lokaal om er zeker van te zijn dat ze werken zoals verwacht en geen nieuwe problemen introduceren.

  5. Je wijzigingen vastleggen: Committeer je wijzigingen met een beschrijvende commit boodschap. Neem alle relevante probleemnummers op in je commit bericht.

  6. Maak een pull-verzoek aan: Maak een pull request van je gevorkte repository naar de hoofdrepository Ultralytics YOLO . Geef een duidelijke uitleg van je wijzigingen en hoe ze het project verbeteren.

CAO ondertekening

Voordat we je pull-verzoek kunnen accepteren, moet je een Contributor License Agreement (CLA) ondertekenen. Dit juridische document zorgt ervoor dat jouw bijdragen onder de juiste licentie vallen en dat het project verder kan worden verspreid onder de AGPL-3.0 licentie.

Om de CLA te ondertekenen volg je de instructies van de CLA-bot nadat je je PR hebt ingediend en voeg je een opmerking toe aan je PR met de tekst:

I have read the CLA Document and I sign the CLA

Google-Stijl Docstrings

Wanneer je nieuwe functies of klassen toevoegt, voeg dan een Google-stijl docstring toe om duidelijke en beknopte documentatie te bieden aan andere ontwikkelaars. Dit helpt ervoor te zorgen dat je bijdragen gemakkelijk te begrijpen en te onderhouden zijn.

Voorbeeld Docstrings

Dit voorbeeld toont een Google-stijl docstring. Merk op dat zowel invoer als uitvoer types moet altijd tussen haakjes staan, d.w.z. (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

Dit voorbeeld toont zowel een Google-stijl docstring als argument- en terugkeertype hints, hoewel beide niet vereist zijn; de ene kan zonder de andere gebruikt worden.

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

Kleinere of eenvoudigere functies kunnen gebruik maken van een docstring met één regel. Let op: de docstring moet 3 dubbele aanhalingstekens gebruiken en een volledige zin zijn die begint met een hoofdletter en eindigt met een punt.

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

GitHub Acties CI Tests

Voordat je pull request samengevoegd kan worden, moeten alle GitHub Actions Continuous Integration (CI) tests slagen. Deze tests omvatten linting, unit tests en andere controles om ervoor te zorgen dat je wijzigingen voldoen aan de kwaliteitsstandaarden van het project. Bekijk de uitvoer van de GitHub Actions en repareer eventuele problemen.

Bugs rapporteren

We stellen bugrapporten op prijs omdat ze een cruciale rol spelen in het behouden van de kwaliteit van het project. Bij het rapporteren van bugs is het belangrijk om een Minimaal Reproduceerbaar Voorbeeld te geven: een duidelijk, beknopt codevoorbeeld dat het probleem repliceert. Dit helpt bij het snel identificeren en oplossen van de bug.

Licentie

Ultralytics omarmt de GNU Affero General Public License v3.0 (AGPL-3.0 ) voor zijn repositories, wat openheid, transparantie en gezamenlijke verbetering in softwareontwikkeling bevordert. Deze sterke copyleft licentie zorgt ervoor dat alle gebruikers en ontwikkelaars de vrijheid behouden om de software te gebruiken, aan te passen en te delen. Het bevordert de samenwerking binnen de gemeenschap en zorgt ervoor dat verbeteringen voor iedereen toegankelijk blijven.

Gebruikers en ontwikkelaars worden aangemoedigd om zich vertrouwd te maken met de voorwaarden van AGPL-3.0 om effectief en ethisch bij te dragen aan de Ultralytics open-source gemeenschap.

Conclusie

Bedankt voor je interesse in het bijdragen aan Ultralytics open-source YOLO projecten. Jouw deelname is cruciaal voor het vormgeven van de toekomst van onze software en het stimuleren van een gemeenschap van innovatie en samenwerking. Of je nu code verbetert, bugs rapporteert of functies voorstelt, jouw bijdragen hebben een grote impact.

We kijken ernaar uit om uw ideeën in actie te zien en waarderen uw inzet voor het bevorderen van objectdetectietechnologie. Laten we samen blijven groeien en innoveren in deze spannende open-sourcereis. Veel plezier met coderen! 🚀🌟

FAQ

Waarom zou ik bijdragen aan Ultralytics YOLO open-source repositories?

Bijdragen aan Ultralytics YOLO open-source repositories helpen de software te verbeteren, waardoor deze robuuster wordt en meer mogelijkheden biedt voor de hele gemeenschap. Bijdragen kunnen bestaan uit codeverbeteringen, bugfixes, documentatieverbeteringen en implementaties van nieuwe functies. Daarnaast biedt bijdragen de kans om samen te werken met andere ervaren ontwikkelaars en experts op dit gebied, waardoor je eigen vaardigheden en reputatie een boost krijgen. Raadpleeg voor informatie over hoe je kunt beginnen de sectie Bijdragen via Pull Requests.

Hoe onderteken ik de Contributor License Agreement (CLA) voor Ultralytics YOLO ?

Volg de instructies van de CLA-bot na het indienen van je pull-verzoek om de Contributor License Agreement (CLA) te ondertekenen. Dit zal ervoor zorgen dat je bijdragen op de juiste manier worden gelicenseerd onder de AGPL-3.0 licentie, waardoor de juridische integriteit van het open-source project behouden blijft. Voeg een opmerking toe in je pull request onder vermelding van:

I have read the CLA Document and I sign the CLA

Voor meer informatie, zie de paragraaf CAO ondertekenen.

Wat zijn Google-stijl docstrings en waarom zijn ze nodig voor Ultralytics YOLO bijdragen?

Google-stijl docstrings bieden duidelijke en beknopte documentatie voor functies en klassen, wat de leesbaarheid en onderhoudbaarheid van de code verbetert. Deze docstrings beschrijven het doel, de argumenten en de retourwaarden van de functie met specifieke opmaakregels. Wanneer je bijdraagt aan Ultralytics YOLO , zorgt het naleven van Google-stijl docstrings ervoor dat je toevoegingen begrijpelijk en goed gedocumenteerd zijn. Voor voorbeelden en richtlijnen, bezoek de Google-Style Docstrings sectie.

Hoe kan ik ervoor zorgen dat mijn wijzigingen de GitHub Actions CI tests doorstaan?

Voordat je pull request samengevoegd wordt, moet het alle GitHub Actions Continuous Integration (CI) tests doorstaan. Deze tests omvatten linting, unit tests en andere controles om ervoor te zorgen dat de code voldoet aan de kwaliteitsstandaarden van het project. Bekijk de uitvoer van de GitHub Actions en pak eventuele problemen aan. Voor gedetailleerde informatie over het CI proces en tips om problemen op te lossen, zie de GitHub Actions CI Tests sectie.

Hoe meld ik een bug in Ultralytics YOLO repositories?

Om een bug te melden, moet je een duidelijk en beknopt Minimaal Reproduceerbaar Voorbeeld meesturen met je bugrapport. Dit helpt ontwikkelaars om het probleem snel te identificeren en op te lossen. Zorg ervoor dat je voorbeeld minimaal is, maar voldoende om het probleem te repliceren. Voor meer gedetailleerde stappen voor het rapporteren van bugs, zie de sectie Bugs rapporteren.



Aangemaakt 2023-11-12, Bijgewerkt 2024-07-04
Auteurs: glenn-jocher (8), UltralyticsAssistant (1)

Reacties