Contribuir para Ultralytics Projectos de código aberto
Sê bem-vindo! Estamos muito contentes por estares a considerar contribuir para os nossos Ultralytics projectos de código aberto. O teu 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 te 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, segue estes passos:
-
Bifurca o repositório: Começa por bifurcar o repositório Ultralytics YOLO para a tua conta GitHub.
-
Cria um ramo: Cria um novo ramo no teu repositório bifurcado com um nome claro e descritivo que reflicta as tuas alterações.
-
Faz as tuas alterações: Certifica-te de que o teu código segue as diretrizes de estilo do projeto e não introduz quaisquer novos erros ou avisos.
-
Testa as tuas alterações: Antes de enviar, testa as tuas alterações localmente para confirmar que funcionam como esperado e não causam novos problemas.
-
Submete as tuas alterações: Confirma as tuas alterações com uma mensagem de confirmação concisa e descritiva. Se as tuas alterações se referem a um problema específico, inclui o número do problema na tua mensagem de confirmação.
-
Cria um pull request: Submete um pull request do teu repositório bifurcado para o repositório principal Ultralytics YOLO . Fornece uma explicação clara e detalhada das tuas alterações e de como elas melhoram o projeto.
Assinatura do CLA
Antes de podermos fazer o merge do teu pull request, tens de assinar o nosso Contributor License Agreement (CLA). Este acordo legal assegura que as tuas 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 teu pull request, o bot CLA irá guiar-te através do processo de assinatura. Para assinar o CLA, basta adicionar um comentário no teu PR dizendo:
Google-Estilo Docstrings
Quando adicionares novas funções ou classes, por favor inclui Google-style docstrings. Estas docstrings fornecem documentação clara e padronizada que ajuda outros programadores a compreender e manter o teu código.
Exemplo de cadeias de documentos
Este exemplo ilustra uma docstring ao estilo de Google. Assegura-te 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 tanto uma docstring ao estilo de Google como dicas de tipo para argumentos e retornos, embora a utilização de qualquer uma delas independentemente 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 usar 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 tuas alterações cumprem os padrões de qualidade do projeto. Revê a saída de CI e resolve 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, fornece 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 os 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 teu interesse em contribuir para os projectos Ultralytics projectos de código aberto YOLO . A tua participação é essencial para moldar o futuro do nosso software e construir uma comunidade vibrante de inovação e colaboração. Quer estejas a melhorar o código, a reportar erros ou a sugerir novas funcionalidades, as tuas contribuições são inestimáveis.
Estamos entusiasmados por ver as tuas ideias ganharem vida e apreciamos o teu 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 ?
Contribuir 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, contribuir permite-te colaborar com outros programadores qualificados e especialistas na área, melhorando as tuas próprias competências e reputação. Para obter detalhes 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. Este processo assegura que as tuas contribuições são devidamente licenciadas ao abrigo da licença AGPL-3.0 , mantendo a integridade legal do projeto de código aberto. Adiciona um comentário no teu pull request a dizer:
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 , seguindo Google-style docstrings assegura que as tuas adições são bem documentadas e facilmente compreendidas. 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 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
os padrões de qualidade do projeto. Revê a saída de CI e corrige 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.