Pular para conteúdo

Conceitos para estudar em Programação

1. Fundamentos de código limpo

  • Nomeação clara de variáveis, funções e módulos.
  • Funções pequenas, com responsabilidade única.
  • Redução de duplicação e simplificação de fluxos condicionais.

2. Testes e qualidade

  • Testes unitários, integração e ponta a ponta.
  • Pirâmide de testes e estratégia por risco.
  • Property-based testing para validação de regras gerais.

3. Modelagem e arquitetura

  • Separação em camadas (domínio, aplicação, infraestrutura).
  • DDD estratégico (Bounded Context e Context Mapping).
  • Padrões de integração (eventos, filas, API síncrona).

4. Robustez e segurança

  • Programação defensiva e validação de entradas.
  • "Parse, don’t validate" para garantir tipos corretos cedo.
  • Tratamento de erros com contexto e observabilidade.

5. Concorrência e performance

  • Concorrência vs paralelismo.
  • I/O bound e CPU bound.
  • Profiling para identificar gargalos antes de otimizar.

6. Prática recomendada

  • Escolher um tema por semana.
  • Implementar um mini projeto por tema.
  • Registrar aprendizados e trade-offs na própria nota.