Salta para o conte√ļdo

Contribui para Ultralytics Repositórios de código aberto YOLO

Antes de mais, obrigado pelo teu interesse em contribuir para os reposit√≥rios Ultralytics de c√≥digo aberto YOLO ! As tuas contribui√ß√Ķes ajudar√£o a melhorar o projeto e a beneficiar a comunidade. Este documento fornece orienta√ß√Ķes e melhores pr√°ticas para come√ßares.

√ćndice

  1. Código de Conduta
  2. Contribuir através de Pull Requests
  3. Comunicar erros
  4. Licença
  5. Conclus√£o

Código de Conduta

Espera-se que todos os colaboradores cumpram o Código de Conduta para garantir um ambiente acolhedor e inclusivo para todos.

Contribuir através de Pull Requests

Aceitamos contribui√ß√Ķes na forma de pull requests. Para tornar o processo de revis√£o mais f√°cil, segue estas orienta√ß√Ķes:

  1. Bifurca o repositório: Bifurca o repositório Ultralytics YOLO para a tua própria conta GitHub.

  2. Cria um ramo: Cria um novo ramo no teu reposit√≥rio bifurcado com um nome descritivo para as tuas altera√ß√Ķes.

  3. Faz as tuas altera√ß√Ķes: Faz as altera√ß√Ķes para as quais queres contribuir. Certifica-te de que as tuas altera√ß√Ķes seguem o estilo de codifica√ß√£o do projeto e n√£o introduzem novos erros ou avisos.

  4. Testa as tuas altera√ß√Ķes: Testa as tuas altera√ß√Ķes localmente para garantir que funcionam como esperado e n√£o introduzem novos problemas.

  5. Confirma as tuas altera√ß√Ķes: Submete as tuas altera√ß√Ķes com uma mensagem de submiss√£o descritiva. Certifica-te de que incluis qualquer n√ļmero de problema relevante na tua mensagem de confirma√ß√£o.

  6. Cria um pull request: Cria um pull request do teu reposit√≥rio bifurcado para o reposit√≥rio principal Ultralytics YOLO . Na descri√ß√£o do pull request, fornece uma explica√ß√£o clara das tuas altera√ß√Ķes e como elas melhoram o projeto.

Assinatura do CLA

Antes de podermos aceitar o teu pull request, tens de assinar um Contrato de Licen√ßa de Contribuidor (CLA). Este √© um documento legal que declara que concordas com os termos de contribui√ß√£o para os reposit√≥rios Ultralytics YOLO . O CLA assegura que as tuas contribui√ß√Ķes est√£o devidamente licenciadas e que o projeto pode continuar a ser distribu√≠do sob a licen√ßa AGPL-3.0 .

Para assinar o CLA, segue as instru√ß√Ķes fornecidas pelo bot do CLA depois de submeteres o teu PR e acrescenta um coment√°rio no teu PR a dizer:

I have read the CLA Document and I sign the CLA

Docstrings ao estilo do Google

Quando adicionares novas fun√ß√Ķes ou classes, por favor inclui uma docstring ao estilo do Google para fornecer documenta√ß√£o clara e concisa a outros programadores. Isto ajudar√° a garantir que as tuas contribui√ß√Ķes s√£o f√°ceis de compreender e manter.

Exemplo de cadeias de documentos

Este exemplo mostra ambas as docstrings ao estilo Google. Repara que tanto a entrada como a saída types deve estar sempre entre parênteses, ou seja (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

Este exemplo mostra docstrings ao estilo Google e dicas de argumentos e tipos de retorno, embora ambos n√£o sejam necess√°rios, um pode ser utilizado sem o outro.

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

As fun√ß√Ķes mais pequenas ou mais simples podem utilizar uma docstring de uma linha. Nota que a docstring deve usar 3 aspas duplas e ser uma frase completa, come√ßando com uma letra mai√ļscula e terminando com um ponto final.

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

GitHub Actions Testes de CI

Antes que seu pull request possa ser mesclado, todos os testes de Integra√ß√£o Cont√≠nua (CI) de GitHub Actions devem ser aprovados. Estes testes incluem linting, testes unit√°rios e outras verifica√ß√Ķes para garantir que as tuas altera√ß√Ķes cumprem os padr√Ķes de qualidade do projeto. Certifica-te de rever a sa√≠da do GitHub Actions e corrigir quaisquer problemas

Comunicar erros

Apreciamos os relatórios de erros, uma vez que desempenham um papel crucial na manutenção da qualidade do projeto. Ao relatar bugs, é importante fornecer um Exemplo Mínimo Reprodutível: um exemplo de código claro e conciso que replica o problema. Isto ajuda na rápida identificação e resolução do bug.

Licença

Ultralytics adopta a GNU Affero General Public License v3.0 (AGPL-3.0) para os seus repositórios, promovendo a abertura, transparência e melhoria colaborativa no desenvolvimento de software. Esta forte licença copyleft assegura que todos os utilizadores e programadores mantêm a liberdade de utilizar, modificar e partilhar o software. Promove a colaboração da comunidade, garantindo que quaisquer melhorias permaneçam acessíveis a todos.

Os utilizadores e programadores são encorajados a familiarizarem-se com os termos de AGPL-3.0 para contribuírem eficaz e eticamente para a comunidade de código aberto Ultralytics .

Conclus√£o

Obrigado pelo teu interesse em contribuir para Ultralytics' projectos open-source YOLO . A tua participa√ß√£o √© crucial para moldar o futuro do nosso software e promover uma comunidade de inova√ß√£o e colabora√ß√£o. Quer estejas a melhorar o c√≥digo, a reportar erros ou a sugerir funcionalidades, as tuas contribui√ß√Ķes t√™m um impacto significativo.

Estamos ansiosos por ver as tuas ideias em a√ß√£o e apreciamos o teu empenho em fazer avan√ßar a tecnologia de dete√ß√£o de objectos. Vamos continuar a crescer e a inovar juntos nesta excitante viagem de c√≥digo aberto. Boa programa√ß√£o! ūüöÄūüĆü



Criado em 2023-11-12, Atualizado em 2024-01-24
Autores: glenn-jocher (3)

Coment√°rios