Salta para o conteúdo

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

Obrigado pelo seu interesse em contribuir para Ultralytics Código aberto YOLO repositórios! Suas contribuições irão aprimorar o projeto e beneficiar toda a comunidade. Este documento fornece diretrizes e práticas recomendadas para ajudá-lo a começar.

Í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

Todos os colaboradores devem aderir ao 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 agilizar o processo de revisão, siga estas diretrizes:

  1. Bifurca o repositório: Bifurca o repositório Ultralytics YOLO na tua 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: 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. Submete as tuas alterações: Submete as tuas alterações com uma mensagem de submissão descritiva. Inclui quaisquer números de problemas relevantes 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 . 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 Contributor License Agreement (CLA). Este documento legal 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

Google-Estilo Docstrings

Quando adicionares novas funções ou classes, inclui uma docstring ao estilo de Google para fornecer documentação clara e concisa a outros programadores. Isto ajuda a garantir que as tuas contribuições são fáceis de compreender e manter.

Exemplo de cadeias de documentos

Este exemplo mostra uma docstring ao estilo de Google. Nota 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 uma docstring ao estilo de 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

Funções menores ou mais simples podem utilizar uma docstring de linha única. Observe que a docstring deve usar três aspas duplas e ser uma frase completa começando com letra maiúscula e terminando com 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) do GitHub Actions devem ser aprovados. Esses testes incluem linting, testes de unidade e outras verificações para garantir que suas alterações atendam aos padrões de qualidade do projeto. Revise a saída do GitHub Actions e corrija quaisquer problemas.

Comunicar erros

Apreciamos os relatórios de bugs, pois eles 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. Isso 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 de 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 os projectos de código abertoUltralytics 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 comunicar erros ou a sugerir funcionalidades, as tuas contribuições têm um impacto significativo.

Estamos ansiosos para ver suas ideias em ação e apreciamos seu compromisso com o avanço da tecnologia de detecção de objetos. Vamos continuar a crescer e inovar juntos nesta emocionante jornada de código aberto. Boa codificação! 🚀🌟

FAQ

Por que razão devo contribuir para os repositórios de código aberto Ultralytics YOLO ?

Contribuir para os repositórios de código aberto Ultralytics YOLO ajuda a melhorar o software, tornando-o mais robusto e rico em funcionalidades para toda a comunidade. As contribuições podem incluir melhorias no código, correcções de erros, melhorias na documentação e implementações de novas funcionalidades. Além disso, a contribuição oferece a oportunidade de colaborar com outros programadores qualificados e especialistas na área, aumentando as tuas próprias competências e reputação. Para obter informações sobre como começar, consulta a secção Contribuir através de Pull Requests.

Como é que assino o Contrato de Licença do Contribuinte (CLA) para Ultralytics YOLO ?

Para assinar o Contrato de Licença do Contribuinte (CLA), segue as instruções fornecidas pelo bot do CLA depois de submeteres o teu pull request. Isto irá garantir que as tuas contribuições são devidamente licenciadas ao abrigo da licença AGPL-3.0 , mantendo a integridade legal do projeto open-source. Adiciona um comentário na menção do teu pull request:

I have read the CLA Document and I sign the CLA

Para mais informações, consulta a secção Assinatura CLA.

O que são docstrings ao estilo de Google e porque é que são necessárias para as contribuições Ultralytics YOLO ?

GoogleOs docstrings de estilo -style fornecem documentação clara e concisa para funções e classes, melhorando a legibilidade e a manutenção do código. Estas docstrings descrevem o objetivo da função, os argumentos e os valores de retorno com regras de formatação específicas. Quando contribuíres para Ultralytics YOLO , aderindo a Google-style docstrings assegura que as tuas adições são compreensíveis e bem documentadas. Para exemplos e orientações, visita a secção Google-Style Docstrings.

Como posso garantir que as minhas alterações passam nos testes de CI de GitHub Actions?

Antes de fazer o merge do seu pull request, ele deve passar em todos os testes de Integração Contínua (CI) do GitHub Actions. Esses testes incluem linting, testes de unidade e outras verificações para garantir que o código atenda aos padrões de qualidade do projeto. Revê a saída do GitHub Actions e resolve quaisquer problemas. Para obter informações detalhadas sobre o processo de CI e dicas de solução de problemas, consulte a seção Testes de CI do GitHub Actions.

Como é que comunico um erro nos repositórios Ultralytics YOLO ?

Para comunicar um erro, fornece um Exemplo Mínimo Reprodutível claro e conciso juntamente com o teu relatório de erro. Isto ajuda os programadores a identificar e corrigir rapidamente o problema. Certifica-te de que o teu exemplo é mínimo, mas suficiente para replicar o problema. Para obter passos mais detalhados sobre como comunicar erros, consulta a secção Comunicar erros.



Criado em 2023-11-12, Atualizado em 2024-07-04
Autores: glenn-jocher (8), UltralyticsAssistant (1)

Comentários