Obrigado pelo seu interesse em contribuir para o currículo de Data Science para Principiantes! Agradecemos as contribuições da comunidade.
- Código de Conduta
- Como Posso Contribuir?
- Primeiros Passos
- Diretrizes de Contribuição
- Processo de Pull Request
- Diretrizes de Estilo
- Acordo de Licença de Contribuidor
Este projeto adotou o Código de Conduta de Código Aberto da Microsoft.
Para mais informações, consulte as FAQ do Código de Conduta
ou contacte opencode@microsoft.com para quaisquer questões ou comentários adicionais.
Antes de criar relatórios de erros, verifique os problemas existentes para evitar duplicados. Ao criar um relatório de erro, inclua o máximo de detalhes possível:
- Use um título claro e descritivo
- Descreva os passos exatos para reproduzir o problema
- Forneça exemplos específicos (trechos de código, capturas de ecrã)
- Descreva o comportamento observado e o que esperava
- Inclua os detalhes do seu ambiente (SO, versão do Python, navegador)
Sugestões de melhorias são bem-vindas! Ao sugerir melhorias:
- Use um título claro e descritivo
- Forneça uma descrição detalhada da melhoria sugerida
- Explique por que esta melhoria seria útil
- Liste quaisquer funcionalidades semelhantes em outros projetos, se aplicável
Melhorias na documentação são sempre apreciadas:
- Corrigir erros ortográficos e gramaticais
- Melhorar a clareza das explicações
- Adicionar documentação em falta
- Atualizar informações desatualizadas
- Adicionar exemplos ou casos de uso
Aceitamos contribuições de código, incluindo:
- Novas lições ou exercícios
- Correções de erros
- Melhorias em notebooks existentes
- Novos conjuntos de dados ou exemplos
- Melhorias na aplicação de quizzes
Antes de contribuir, certifique-se de que tem:
- Uma conta no GitHub
- Git instalado no seu sistema
- Python 3.7+ e Jupyter instalados
- Node.js e npm (para contribuições na aplicação de quizzes)
- Familiaridade com a estrutura do currículo
Consulte INSTALLATION.md para instruções detalhadas de configuração.
-
Faça fork do repositório no GitHub
-
Clone o seu fork localmente:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
Adicione o upstream remoto:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Crie uma nova branch para o seu trabalho:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fixConvenções de nomenclatura de branches:
feature/- Novas funcionalidades ou liçõesfix/- Correções de errosdocs/- Alterações na documentaçãorefactor/- Refatoração de código
Ao contribuir com lições ou modificar as existentes:
-
Siga a estrutura existente:
- README.md com o conteúdo da lição
- Notebook Jupyter com exercícios
- Tarefa (se aplicável)
- Link para quizzes pré e pós-lição
-
Inclua estes elementos:
- Objetivos de aprendizagem claros
- Explicações passo a passo
- Exemplos de código com comentários
- Exercícios para prática
- Links para recursos adicionais
-
Garanta acessibilidade:
- Use linguagem clara e simples
- Forneça texto alternativo para imagens
- Inclua comentários no código
- Considere diferentes estilos de aprendizagem
-
Limpe todos os outputs antes de fazer commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb
-
Inclua células markdown com explicações
-
Use formatação consistente:
# Import libraries at the top import pandas as pd import numpy as np import matplotlib.pyplot as plt # Use meaningful variable names # Add comments for complex operations # Follow PEP 8 style guidelines
-
Teste o notebook completamente antes de submeter
Siga as diretrizes de estilo PEP 8:
# Good practices
import pandas as pd
def calculate_mean(data):
"""Calculate the mean of a dataset.
Args:
data (list): List of numerical values
Returns:
float: Mean of the dataset
"""
return sum(data) / len(data)Ao modificar a aplicação de quizzes:
-
Teste localmente:
cd quiz-app npm install npm run serve -
Execute o linter:
npm run lint
-
Construa com sucesso:
npm run build
-
Siga o guia de estilo Vue.js e os padrões existentes
Ao adicionar ou atualizar traduções:
- Siga a estrutura na pasta
translations/ - Use o código do idioma como nome da pasta (ex.:
ptpara Português) - Mantenha a mesma estrutura de ficheiros da versão em inglês
- Atualize os links dos quizzes para incluir o parâmetro de idioma:
?loc=pt - Teste todos os links e a formatação
-
Atualize a sua branch com as alterações mais recentes:
git fetch upstream git rebase upstream/main
-
Teste as suas alterações:
- Execute todos os notebooks modificados
- Teste a aplicação de quizzes, se modificada
- Verifique se todos os links funcionam
- Revise erros ortográficos e gramaticais
-
Faça commit das suas alterações:
git add . git commit -m "Brief description of changes"
Escreva mensagens de commit claras:
- Use o tempo presente ("Adicionar funcionalidade" em vez de "Adicionou funcionalidade")
- Use o modo imperativo ("Mover cursor para..." em vez de "Move cursor para...")
- Limite a primeira linha a 72 caracteres
- Referencie problemas e pull requests quando relevante
-
Faça push para o seu fork:
git push origin feature/your-feature-name
- Acesse o repositório
- Clique em "Pull requests" → "New pull request"
- Clique em "compare across forks"
- Selecione o seu fork e branch
- Clique em "Create pull request"
Use títulos claros e descritivos seguindo este formato:
[Component] Brief description
Exemplos:
[Lesson 7] Corrigir erro de importação no notebook Python[Quiz App] Adicionar tradução para alemão[Docs] Atualizar README com novos pré-requisitos[Fix] Corrigir caminho de dados na lição de visualização
Inclua na descrição do seu PR:
- O quê: Quais alterações foram feitas?
- Porquê: Por que estas alterações são necessárias?
- Como: Como implementou as alterações?
- Testes: Como testou as alterações?
- Capturas de ecrã: Inclua capturas de ecrã para alterações visuais
- Problemas Relacionados: Link para problemas relacionados (ex.: "Fixes #123")
- Verificações automáticas serão executadas no seu PR
- Os mantenedores irão rever a sua contribuição
- Responda ao feedback fazendo commits adicionais
- Uma vez aprovado, um mantenedor irá fazer merge do seu PR
-
Apague a sua branch:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name
-
Atualize o seu fork:
git checkout main git pull upstream main git push origin main
-
Use níveis de cabeçalho consistentes
-
Inclua linhas em branco entre seções
-
Use blocos de código com especificadores de linguagem:
```python import pandas as pd ```
-
Adicione texto alternativo às imagens:
 -
Mantenha comprimentos de linha razoáveis (cerca de 80-100 caracteres)
- Siga o guia de estilo PEP 8
- Use nomes de variáveis significativos
- Adicione docstrings às funções
- Inclua dicas de tipo quando apropriado:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
- Siga o guia de estilo Vue.js 2
- Use a configuração ESLint fornecida
- Escreva componentes modulares e reutilizáveis
- Adicione comentários para lógica complexa
- Mantenha ficheiros relacionados juntos
- Use nomes de ficheiros descritivos
- Siga a estrutura de diretórios existente
- Não faça commit de ficheiros desnecessários (.DS_Store, .pyc, node_modules, etc.)
Este projeto aceita contribuições e sugestões. A maioria das contribuições requer que concorde com um Acordo de Licença de Contribuidor (CLA), declarando que tem o direito de, e realmente concede-nos os direitos para usar a sua contribuição. Para mais detalhes, visite
https://cla.microsoft.com.
Quando submeter um pull request, um CLA-bot determinará automaticamente se precisa fornecer um CLA e decorará o PR apropriadamente (ex.: etiqueta, comentário). Basta seguir as instruções fornecidas pelo bot. Só precisará fazer isto uma vez em todos os repositórios que utilizam o nosso CLA.
- Consulte o nosso Canal Discord #data-science-for-beginners
- Junte-se à nossa comunidade Discord
- Revise os problemas e pull requests existentes
As suas contribuições tornam este currículo melhor para todos. Obrigado por dedicar o seu tempo a contribuir!
Aviso:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, é importante notar que traduções automáticas podem conter erros ou imprecisões. O documento original na sua língua nativa deve ser considerado a fonte autoritária. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações incorretas decorrentes do uso desta tradução.