Pular para conteúdo

Melhores Praticas

Melhores práticas do repositório

Melhores práticas do repositório

Para garantir a manutenção da qualidade, organização e escalabilidade deste repositório, é fundamental seguir as melhores práticas descritas a seguir. Elas foram definidas com base em padrões consolidados da engenharia de software e visam facilitar a colaboração, revisão de código e evolução contínua do projeto.

📌 Abertura de Issues

Toda solicitação de mudança, correção de bug ou sugestão de melhoria deve ser registrada por meio de uma issue. As issues devem ser abertas utilizando o modelo padrão fornecido pelo repositório, o qual ajuda a manter a clareza, rastreabilidade e organização da discussão. Certifique-se de preencher todos os campos obrigatórios com informações precisas, como contexto, impacto e possíveis caminhos de solução.

🧱 Arquitetura e Modelagem de Dados

A modelagem de dados e a organização dos esquemas devem seguir a arquitetura em camadas definida para o repositório, baseada nos estágios de maturidade e tratamento dos dados. Esta abordagem facilita a rastreabilidade, o controle de qualidade e a evolução gradual dos dados ao longo do tempo. As camadas estão estruturadas da seguinte forma:

  • Raw: camada bruta, que armazena os dados exatamente como foram recebidos da fonte, sem qualquer transformação. Serve como fonte de verdade e histórico imutável.
  • Bronze: camada de dados limpos e estruturados de forma padronizada, com correções mínimas (como tipos de dados e normalização básica), mantendo a granularidade original.
  • Silver: camada onde os dados passam por enriquecimentos, junções e integrações entre diferentes fontes, além de validações mais complexas.
  • Gold: camada final, otimizada para consumo e análise. Contém métricas, agregações e tabelas derivadas voltadas a casos de uso específicos, como dashboards, relatórios e serviços.

Ao propor modificações ou novos pipelines, certifique-se de posicionar corretamente os dados dentro dessa estrutura e seguir os padrões de nomenclatura, versionamento e particionamento definidos. Alterações em qualquer uma dessas camadas devem ser devidamente documentadas e revisadas pelo time responsável, garantindo consistência e rastreabilidade.

Essa organização em camadas é fundamental para garantir qualidade, confiabilidade e governança sobre os dados tratados no repositório.

🔄 Pull Requests

Todas as contribuições de código devem ser feitas através de Pull Requests (PRs). Utilize o modelo de PR disponibilizado no repositório para garantir que informações essenciais — como escopo da mudança, contexto e validação — estejam claras e organizadas. PRs devem ser pequenas, focadas e atômicas sempre que possível, facilitando a revisão e evitando regressões.

Além disso, todo PR deve ser revisado por pelo menos um outro membro do time antes de ser mesclado na branch principal. Discussões e sugestões durante o processo de code review são altamente encorajadas, com foco na melhoria contínua da base de código.

📝 Commits

As mensagens de commit devem seguir um padrão pré-definido, inspirado no Conventional Commits, com prefixos como:

  • feat: para novas funcionalidades;
  • fix: para correções de bugs;
  • docs: para alterações na documentação;
  • ci: para mudanças relacionadas a integração contínua;
  • refactor: para melhorias no código que não alteram comportamento.

Cada mensagem de commit deve conter uma descrição clara, objetiva e sucinta da mudança implementada. Quando necessário, utilize a descrição estendida do commit para detalhar motivações, impactos e decisões técnicas importantes. Isso facilita o entendimento histórico das mudanças e contribui para uma base de código mais sustentável e auditável.


🤝 Convivência, respeito e ética na colaboração

A colaboração neste repositório deve sempre ocorrer em um ambiente de respeito mútuo, empatia e abertura ao diálogo. Espera-se que todas as interações — sejam em issues, pull requests, revisões de código ou discussões técnicas — sejam conduzidas com educação, cordialidade e espírito colaborativo. Críticas devem ser construtivas, com foco na solução e na melhoria contínua, nunca direcionadas de forma pessoal.

Não será tolerado nenhum tipo de discurso ou comportamento ofensivo, discriminatório, agressivo ou de ódio. Isso inclui, mas não se limita a: racismo, sexismo, homofobia, xenofobia ou qualquer outra forma de preconceito. A manutenção de um ambiente saudável, inclusivo e profissional é responsabilidade de todos os colaboradores e condição essencial para a participação neste projeto.

Contribuir com respeito é tão importante quanto contribuir com código.