Pular para o conteúdo principal

Funções e módulos

Tamanho e responsabilidade

  • Uma função = uma tarefa clara. Se o nome precisa de “e” (validaESalva), divida.
  • Early return para reduzir aninhamento de if.
  • Parâmetros: preferir até 3; acima disso, agrupe em objeto/DTO.

Acoplamento

  • Lógica de negócio fora de views/HTML; APIs finas que delegam a serviços.
  • Não copiar blocos inteiros entre módulos — extrair helper ou serviço compartilhado (respeitando multi-tenant).

Estrutura de pastas

Respeite a árvore do projeto (backend/src/services, frontend/pages, etc.). Novo módulo segue o mesmo layout dos vizinhos.

Performance (sem micro-otimização)

  • Consultas N+1: evitar loops com query dentro.
  • Listagens: paginação e filtros no SQL quando o volume for alto.
  • Cache só com critério de invalidação documentado.