digitalinnovationone / dio-lab-open-source

Repositório do lab "Contribuindo em um Projeto Open Source no GitHub" da Digital Innovation One.
https://digitalinnovationone.github.io/dio-lab-open-source/
6.27k stars 45.9k forks source link

Sugestão - Adicionar formas de contribuição #7455

Open lucasdepaulasp opened 1 year ago

lucasdepaulasp commented 1 year ago

Sua sugestão está relacionada a um problema? Por favor descreva. Não.

Descreva a solução que você gostaria implementar formas de contribuição em Python.

Descreva as alternativas que você considerou Inserir tópicos de como realizar cada forma de contribuição.

Contexto adicional N/A.

lucasdepaulasp commented 1 year ago

Resolvendo Problemas (Issues): João, um entusiasta de programação em Python, navegando pelo repositório de um projeto open source, percebe um problema relatado onde a função de design de média não está retornando resultados precisos. Com base em seu conhecimento, ele analisa o código, identifica o erro na lógica de cálculo e decide corrigir o problema. João clona o repositório, faz as alterações no código e, em seguida, submete um pull request, descrevendo a correção e vinculando-o ao problema original. Após algumas revisões e ajustes, a contribuição de João é aceita e mesclada no projeto.

Implementando Novos Recursos: Maria, uma desenvolvedora Python com paixão por automação, percebe que um projeto de gerenciamento de tarefas poderia se beneficiar da capacidade de criar tarefas recorrentes. Ela inicia uma discussão na seção de questões do repositório, propondo a adição desse recurso. Após obter aprovação da comunidade, Maria começa a trabalhar na implementação. Ela escreve o código necessário, garantindo que esteja em conformidade com as diretrizes do projeto, e submete um pull request detalhando a nova funcionalidade. Depois de algumas iterações de revisão e ajustes, o novo recurso é incorporado ao projeto.

Corrigindo a documentação: Carlos, um desenvolvedor experiente em Python, está explorando a documentação de um projeto quando observa que uma seção específica está desatualizada e contém informações erradas sobre a utilização de uma função. Ele decide contribuir para melhorar a documentação. Carlos faz um fork do repositório, atualiza a seção problemática com informações precisas e exemplos de código corretos. Ele então submete um pull request que destaca as mudanças que fizeram na documentação. A equipe do projeto revisa suas alterações e incorpora a documentação principal.

Adicionando testes: Ana, uma entusiasta de testes e qualidade de código, está envolvida em um projeto Python de análise de dados. Ela percebe que as funções de filtragem de dados não têm testes automatizados para garantir sua eficácia. Ana decide preencher essa lacuna. Ela escreve uma série de testes para verificar diferentes cenários de filtragem e adicionar esses testes ao repositório. Ela submete um pull request explicando a importância dos testes e fornece evidências de que os cenários estão sendo cobertos. Após revisão e aprovação, os testes são integrados ao projeto.

Revisando Pull Requests: Rafael, um desenvolvedor experiente na comunidade, está revisando os pull requests abertos no repositório de um projeto Python de visualização de dados. Ele encontra um pull request que implementa uma nova opção de personalização de núcleos. Rafael examina o código, verifica se está seguindo as diretrizes de estilo do projeto e testa a funcionalidade manualmente. Ele deixa comentários construtivos no pull request, apontando áreas que podem ser melhoradas e fazendo sugestões para melhorar a implementação. Sua revisão minuciosa ajuda a garantir que apenas o código de alta qualidade seja mesclado no projeto.

Traduzindo: Isabella, uma desenvolvedora bilíngue, está interessada em tornar um projeto Python mais acessível para uma audiência internacional. Ela identifica que a documentação principal está disponível apenas em inglês e decide contribuir com traduções. Isabella clona o repositório, cria uma ramificação para o idioma de destino e começa a traduzir os arquivos de documentação. Uma vez concluída, ela submete um pull request com as alterações e uma explicação sobre a importância das traduções para alcançar uma base de usuários mais ampla. A equipe do projeto revisa as traduções e a integração à documentação.

Melhorando a Experiência do Usuário: Laura, uma designer de interface de usuário, percebe que uma interface de um projeto Python de análise de sentimentos poderia ser mais intuitiva e atrativa. Ela examina os elementos visuais, como núcleos, ícones e layout, e cria protótipos para aprimorar a experiência do usuário. Laura compartilha suas ideias e modelos na seção de problemas do repositório, buscando feedback da comunidade. Depois de ajustar os designs com base nas opiniões recebidas, ela implementou as melhorias e submete um pull request com as mudanças visuais. A equipe de desenvolvimento avalia e integra as melhorias, tornando a interface mais amigável.

Compartilhando Exemplos e Tutoriais: Guilherme, um entusiasta de aprendizado de máquina, utiliza uma biblioteca Python para treinar modelos de classificação. Ele percebe que outros desenvolvedores podem se beneficiar de um tutorial prático que explica como usar uma biblioteca para resolver um problema comum. Guilherme criou um tutorial detalhado, descrevendo o processo de preparação dos dados, treinamento do modelo e avaliação dos resultados. Ele formatou o tutorial em um Jupyter Notebook e o enviou como um pull request no repositório do projeto. A equipe de revisão avalia o tutorial e integra a documentação.

Ajudando em Questões Abertas: Pedro, um estudante de ciência da computação, está interessado em contribuir para um projeto Python de processamento de linguagem natural. Ele verifica os problemas abertos e encontra uma solicitação de atualização de bibliotecas de terceiros para suas versões mais recentes. Pedro cria um pull request que atualiza as dependências conforme solicitado, testa o projeto para garantir a compatibilidade e documenta as alterações no arquivo de requisitos. Sua contribuição ajuda a manter o projeto atualizado e funcionando sem problemas.

Mantendo a Conversa Ativa: Sofia, uma desenvolvedora experiente na comunidade Python, está ativa na discussão de problemas e pull requests do repositório de um projeto de automação de tarefas. Ela responde a perguntas de outros membros da comunidade, oferece insights sobre possíveis soluções e ajuda a resolver problemas técnicos. Sua participação contínua ajuda a manter o ambiente colaborativo e construtivo no projeto, incentivando a comunicação aberta e a troca de conhecimento entre os membros.

No geral, cada um desses exemplos ilustrados como um indivíduo pode contribuir para uma comunidade em Python no GitHub, trazendo suas habilidades e paixões únicas para enriquecer o projeto. Ao se envolver com a comunidade, esses colaboradores não apenas ajudam a melhorar o projeto em si, mas também fortalecem a colaboração entre os membros e ajudam a criar um ambiente mais inclusivo e produtivo para todos.