Contribuindo para ord
Etapas sugeridas
- Encontre um problema no qual deseja trabalhar.
- Descubra qual seria um bom primeiro passo para resolver o problema. Isso pode ser na forma de código, pesquisa, uma proposta ou sugestão de que seja encerrado, se estiver desatualizado ou não for uma boa ideia em primeiro lugar.
- Comente sobre o problema com um esboço da primeira etapa sugerida e peça feedback. Claro, você pode mergulhar e começar a escrever código ou testes imediatamente, mas isso evita um esforço potencialmente desperdiçado, se o problema estiver desatualizado, não claramente especificado, bloqueado em outra coisa ou de outra forma não pronto para implementação.
- Se o problema exigir uma alteração de código ou correção de bug, abra um rascunho de PR com testes e peça feedback. Isso garante que todos estejam na mesma página sobre o que precisa ser feito ou qual deve ser o primeiro passo para resolver o problema. Além disso, como os testes são obrigatórios, escrever os testes primeiro facilita a confirmação de que a alteração pode ser testada facilmente.
- Esmague o teclado aleatoriamente até que os testes sejam aprovados e refatore até que o código esteja pronto para ser enviado.
- Marque a PR como pronto para revisão.
- Revise a PR conforme necessário.
- E finalmente, fusões!
Comece pequeno
Pequenas mudanças permitirão que você cause um impacto rapidamente e, se você tomar a atitude errada, não perderá muito tempo.
Ideias para pequenos problemas:
- Adicione um novo teste ou caso de teste que aumente a cobertura do teste
- Adicionar ou melhorar a documentação
- Encontre um problema que precise de mais pesquisa, faça essa pesquisa e resuma em um comentário
- Encontre um problema desatualizado e comente que ele pode ser resolvido
- Encontre um problema que não deveria ser resolvido e forneça feedback construtivo detalhando por que você acha que esse é o caso
Mescle cedo e frequentemente
Divida tarefas grandes em várias etapas menores que progridem individualmente. Se houver um bug, você pode abrir uma PR que adiciona um teste ignorado com falha. Isso pode ser mesclado e a próxima etapa pode ser corrigir o bug e ignorar o teste. Faça pesquisas ou testes e relate seus resultados. Divida um recurso em pequenos subrecursos e implemente-os um de cada vez.
Descobrir como dividir uma PR maior em PRs menores, onde cada uma pode ser mesclada, é uma forma de arte que vale a pena praticar. A parte difícil é que cada PR deve ser, por si só, uma melhoria.
Eu mesmo me esforço para seguir esse conselho e sempre fico melhor quando o faço.
Pequenas mudanças são rápidas de escrever, revisar e mesclar, o que é muito mais divertido do que trabalhar em uma única PR gigante que leva uma eternidade para escrever, revisar e mesclar. Pequenas mudanças não levam muito tempo, então se você precisar parar de trabalhar em uma pequena mudança, você não terá perdido muito tempo em comparação com uma mudança maior que representa muitas horas de trabalho. Conseguir uma PR rapidamente melhora o projeto um pouco imediatamente, em vez de ter que esperar muito tempo por melhorias maiores. Pequenas mudanças têm menos probabilidade de acumular conflitos de fusão. Como disseram os atenienses: Os rápidos comprometem o que querem, os lentos fundem o que devem.
Busque ajuda
Se você ficar preso por mais de 15 minutos, peça ajuda, como um Discord de Rust, Stack Exchange ou em um problema ou discussão de projeto.
Pratique a depuração baseada em hipóteses
Formule uma hipótese sobre o que está causando o problema. Descubra como testar essa hipótese. Execute esses testes. Se funcionar, ótimo, você corrigiu o problema ou agora sabe como corrigi-lo. Caso contrário, repita com um nova hipótese.
Preste atenção às mensagens de erro
Leia todas as mensagens de erro e não tolere avisos.