Contribuir para Ultralytics Projectos de código aberto
Bem-vindo! Estamos muito contentes por estar a considerar contribuir para os nossos Ultralytics projectos de código aberto. O seu envolvimento não só ajuda a melhorar a qualidade dos nossos repositórios, como também beneficia toda a comunidade. Este guia fornece diretrizes claras e melhores práticas para o ajudar a começar.
Índice
Código de Conduta
Para garantir um ambiente acolhedor e inclusivo para todos, todos os colaboradores devem aderir ao nosso Código de Conduta. O respeito, a gentileza e o profissionalismo estão no centro da nossa comunidade.
Contribuir através de Pull Requests
Apreciamos muito as contribuições na forma de pull requests. Para tornar o processo de revisão o mais simples possível, siga estes passos:
-
Bifurcar o repositório: Comece por bifurcar o repositório Ultralytics YOLO para a sua conta GitHub.
-
Criar um ramo: Crie um novo ramo no seu repositório bifurcado com um nome claro e descritivo que reflicta as suas alterações.
-
Faça as suas alterações: Certifique-se de que o seu código cumpre as diretrizes de estilo do projeto e não introduz quaisquer novos erros ou avisos.
-
Teste as suas alterações: Antes de enviar, teste as alterações localmente para confirmar que funcionam como esperado e não causam novos problemas.
-
Confirmar as suas alterações: Confirme as suas alterações com uma mensagem de confirmação concisa e descritiva. Se as suas alterações se referem a um problema específico, inclua o número do problema na sua mensagem de confirmação.
-
Criar um pull request: Envie um pull request do seu repositório bifurcado para o repositório principal Ultralytics YOLO . Forneça uma explicação clara e detalhada das suas alterações e como elas melhoram o projeto.
Assinatura do CLA
Antes de podermos juntar o seu pull request, tem de assinar o nosso Contrato de Licença de Contribuidor (CLA). Este acordo legal assegura que as suas contribuições estão devidamente licenciadas, permitindo que o projeto continue a ser distribuído sob a licença AGPL-3.0 .
Depois de submeter o seu pull request, o bot CLA irá guiá-lo através do processo de assinatura. Para assinar o CLA, basta adicionar um comentário no seu PR declarando:
Google-Estilo Docstrings
Ao adicionar novas funções ou classes, inclua docstrings no estilo Google. Essas docstrings fornecem documentação clara e padronizada que ajuda outros desenvolvedores a entender e manter seu código.
Exemplos de cadeias de documentos
Este exemplo ilustra uma docstring de estilo Google. Certifique-se de que tanto a entrada como a saída types
estão sempre entre parênteses, por exemplo, (bool)
.
def example_function(arg1, arg2=4):
"""
Example function demonstrating Google-style docstrings.
Args:
arg1 (int): The first argument.
arg2 (int): The second argument, with a default value of 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 inclui uma docstring ao estilo de Google e dicas de tipo para argumentos e retornos, embora a utilização de qualquer uma delas de forma independente também seja aceitável.
def example_function(arg1: int, arg2: int = 4) -> bool:
"""
Example function demonstrating Google-style docstrings.
Args:
arg1: The first argument.
arg2: The second argument, with a default value of 4.
Returns:
True if successful, False otherwise.
Examples:
>>> result = example_function(1, 2) # returns False
"""
if arg1 == arg2:
return True
return False
Para funções mais pequenas ou mais simples, uma docstring de uma linha pode ser suficiente. A docstring deve utilizar três aspas duplas, ser uma frase completa, começar com uma letra maiúscula e terminar com um ponto final.
GitHub Actions Testes de CI
Todos os pull requests devem passar nos testes de Integração Contínua (CI) do GitHub Actions antes de serem mesclados. Estes testes incluem linting, testes unitários e outras verificações para garantir que as suas alterações cumprem os padrões de qualidade do projeto. Revise a saída de CI e resolva quaisquer problemas que surjam.
Comunicar erros
Valorizamos muito os relatórios de erros, pois eles nos ajudam a manter a qualidade dos nossos projetos. Ao relatar um bug, forneça um Exemplo Mínimo Reprodutível - umexemplo de código simples e claro que reproduz consistentemente o problema. Isto permite-nos identificar e resolver rapidamente o problema.
Licença
Ultralytics usa a GNU Affero General Public License v3.0 (AGPL-3.0 ) para seus repositórios. Esta licença promove a abertura, transparência e melhoria colaborativa no desenvolvimento de software. Assegura que todos os utilizadores têm a liberdade de utilizar, modificar e partilhar o software, promovendo uma forte comunidade de colaboração e inovação.
Encorajamos todos os colaboradores a familiarizarem-se com os termos da licença AGPL-3.0 para contribuírem eficaz e eticamente para a comunidade de código aberto Ultralytics .
Conclusão
Obrigado pelo seu interesse em contribuir para os projectos Ultralytics projectos de código aberto YOLO . A sua participação é essencial para moldar o futuro do nosso software e construir uma comunidade vibrante de inovação e colaboração. Quer esteja a melhorar o código, a comunicar erros ou a sugerir novas funcionalidades, as suas contribuições são inestimáveis.
Estamos entusiasmados por ver as suas ideias ganharem vida e apreciamos o seu empenho no avanço da tecnologia de deteção de objectos. Juntos, vamos continuar a crescer e a inovar nesta excitante viagem de código aberto. Boa programação! 🚀🌟
FAQ
Por que razão devo contribuir para os repositórios de código aberto Ultralytics YOLO ?
A contribuição para os repositórios de código aberto Ultralytics YOLO melhora 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 permite-lhe colaborar com outros programadores qualificados e especialistas na área, melhorando as suas próprias competências e reputação. Para obter detalhes sobre como começar, consulte 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), siga as instruções fornecidas pelo bot do CLA depois de submeter o seu pull request. Este processo garante que as suas contribuições são devidamente licenciadas ao abrigo da licença AGPL-3.0 , mantendo a integridade legal do projeto de código aberto. Adicione um comentário no seu pull request declarando:
Para mais informações, consulte 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 ?
GoogleAs 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. Ao contribuir para Ultralytics YOLO , seguir Google-style docstrings garante que suas adições sejam bem documentadas e facilmente compreendidas. Para exemplos e orientações, visite a secção Google-Style Docstrings.
Como posso garantir que as minhas alterações passam nos testes de CI de GitHub Actions?
Antes que seu pull request possa ser mesclado, 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 a
as normas de qualidade do projeto. Revise a saída de CI e corrija 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, forneça um Exemplo Mínimo Reprodutível claro e conciso juntamente com o seu relatório de erro. Isto ajuda os programadores a identificar e corrigir rapidamente o problema. Certifique-se de que o seu exemplo é mínimo, mas suficiente para reproduzir o problema. Para obter passos mais detalhados sobre como comunicar erros, consulte a secção Comunicar erros.