Pular para o conteúdo

Boas práticas

Cola isso na parede (ou na memória):

git pull sempre ANTES de começar a trabalhar ✅ 1 tarefa Jira = 1 branch = 1 PR (pequeno e focado) ✅ Commit message descritiva (o porquê, não só o quê) ✅ Nunca commite credenciais.env + .gitignoreNunca push direto no main — sempre via PR ✅ PR < 200 linhas sempre que possível

Credencial (API key, senha, token, secret) NUNCA entra no Git. Motivo: Git guarda histórico. Mesmo se você deletar depois, fica no histórico pra sempre.

  1. Cria arquivo .env na raiz do teu sub-projeto:

    API_KEY=abc123
    DATABASE_URL=...
  2. Adiciona .env no .gitignore:

    Terminal window
    echo ".env" >> .gitignore
  3. Valida que foi ignorado:

    .env
    git check-ignore .env
  4. Antes de commit, sempre olha git status.env não pode aparecer.

Se uma credencial foi commitada e empurrada:

  1. Roda a credencial imediatamente (nova API key, invalida a antiga)
  2. Avisa o Fred
  3. Limpeza do histórico é trabalho separado (não urgente, já que a chave foi rodada)

PR bom é PR que revisa em 15 minutos ou menos.

LinhasDificuldade de revisarAção
< 50trivialmerge rápido
50-200fácilrevisão de manhã
200-500médiarevisão mais demorada
500-1000difícilavisa Fred antes
> 1000impossívelquebra em sub-PRs
  • Estrutura primeiro: primeiro PR cria só as pastas, README, CLAUDE.md. Vazias, sem código.
  • Funcionalidade por vez: segundo PR adiciona a função A. Terceiro adiciona função B. Etc.
  • Refactor separado de feature: nunca misture mudança estrutural com mudança de comportamento.

Commit é de graça. Faça muitos.

❌ Mal: 8h de trabalho, 1 commit gigante "feature X".

✅ Bem: 8h de trabalho, 10 commits pequenos:

  • setup do arquivo base
  • adiciona função parseInput
  • adiciona função validate
  • tratamento de erro na validate
  • adiciona teste pra parseInput
  • refactor parseInput pra usar regex
  • fix edge case quando input é vazio
  • adiciona docstring
  • integra parseInput + validate no endpoint
  • testa endpoint end-to-end

Por quê? Se algo quebra no 10º commit, você git bisect e acha qual commit específico introduziu o bug. Com 1 commit gigante, tem que abrir linha por linha.

Se apagou um uso de variável/função/import, apague também a declaração. Não deixa _var com prefixo de “não usado” — isso vira ruído no repo.

Mesma coisa pra comentários tipo // removed X - kept for backwards compat. Se você tá com certeza que não usa, apaga inteiro. Git guarda o histórico caso precise voltar.

Default: não escreva comments.

Escreve quando:

  • Explica o porquê, não o o quê
  • Documenta uma restrição escondida (ex: “essa API só aceita 5 req/s”)
  • Alerta pro próximo dev sobre um edge case não-óbvio

Não escreva:

# incrementa x por 1
x += 1

Escreva:

# Counter precisa ser idempotente: a API reprocessa requests em retry.
x += 1 if not already_counted else 0

Quando me avisar — importante!