d48cda4081
CI / Test (ubuntu-latest, Node 18.x, bun) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, npm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, pnpm) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 18.x, yarn) (push) Failing after 15m1s
CI / Test (ubuntu-latest, Node 20.x, bun) (push) Failing after 17m13s
CI / Test (ubuntu-latest, Node 20.x, npm) (push) Failing after 18m42s
CI / Test (ubuntu-latest, Node 20.x, pnpm) (push) Failing after 15m0s
CI / Test (ubuntu-latest, Node 20.x, yarn) (push) Failing after 49m44s
CI / Test (ubuntu-latest, Node 22.x, bun) (push) Failing after 51m55s
CI / Test (ubuntu-latest, Node 22.x, pnpm) (push) Failing after 21m57s
CI / Test (ubuntu-latest, Node 22.x, npm) (push) Failing after 37m39s
CI / Test (ubuntu-latest, Node 22.x, yarn) (push) Failing after 34m7s
CI / Validate Components (push) Failing after 37m15s
CI / Python Tests (push) Failing after 10m1s
CI / Security Scan (push) Failing after 10m1s
CI / Lint (push) Failing after 17m12s
CI / Coverage (push) Failing after 20m19s
CI / Test (macos-latest, Node 18.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 18.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 20.x, yarn) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, bun) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (macos-latest, Node 22.x, yarn) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, npm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, pnpm) (push) Has been cancelled
CI / Test (windows-latest, Node 22.x, yarn) (push) Has been cancelled
1.6 KiB
1.6 KiB
Estilo de Código
Imutabilidade (CRÍTICO)
SEMPRE crie novos objetos, NUNCA modifique os existentes:
// Pseudocódigo
ERRADO: modificar(original, campo, valor) → altera o original in-place
CORRETO: atualizar(original, campo, valor) → retorna nova cópia com a alteração
Justificativa: Dados imutáveis previnem efeitos colaterais ocultos, facilita a depuração e permite concorrência segura.
Organização de Arquivos
MUITOS ARQUIVOS PEQUENOS > POUCOS ARQUIVOS GRANDES:
- Alta coesão, baixo acoplamento
- 200-400 linhas típico, 800 máximo
- Extrair utilitários de módulos grandes
- Organizar por recurso/domínio, não por tipo
Tratamento de Erros
SEMPRE trate erros de forma abrangente:
- Trate erros explicitamente em cada nível
- Forneça mensagens de erro amigáveis no código voltado para UI
- Registre contexto detalhado de erro no lado do servidor
- Nunca engula erros silenciosamente
Validação de Entrada
SEMPRE valide nas fronteiras do sistema:
- Valide toda entrada do usuário antes de processar
- Use validação baseada em schema onde disponível
- Falhe rapidamente com mensagens de erro claras
- Nunca confie em dados externos (respostas de API, entrada do usuário, conteúdo de arquivo)
Checklist de Qualidade de Código
Antes de marcar o trabalho como concluído:
- O código é legível e bem nomeado
- Funções são pequenas (< 50 linhas)
- Arquivos são focados (< 800 linhas)
- Sem aninhamento profundo (> 4 níveis)
- Tratamento adequado de erros
- Sem valores hardcoded (use constantes ou config)
- Sem mutação (padrões imutáveis usados)