Code review em JavaScript: o que verificar e como dar feedback

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Code review em JavaScript: o que verificar e como dar feedback para iniciantes

\n\n

Code review (ou revisão de código) é o processo de verificação do código-fonte por um ou mais desenvolvedores antes que ele entre na branch principal do projeto. Para iniciantes, esse procedimento muitas vezes parece assustador: "E se eu deixar passar um bug?", "Como dizer a um colega que o código dele está ruim sem estragar o relacionamento?".

\n\n

Neste artigo, vamos abordar o que observar durante um code review em JavaScript (incluindo Node.js) e como dar feedback de forma útil, não ofensiva. O material é voltado para desenvolvedores iniciantes que estão começando a participar de revisões.

\n\n

O que verificar no código JavaScript: checklist para iniciantes

\n\n

Para que a revisão seja estruturada, vamos dividir a verificação em vários blocos-chave. Não tente cobrir tudo de uma vez — comece pelos pontos mais críticos.

\n\n

1. Funcionalidade e lógica

\n

Antes de tudo, certifique-se de que o código resolve a tarefa proposta. Execute-o localmente (se possível) ou percorra mentalmente todos os ramos de execução. Aqui estão perguntas típicas:

\n
    \n
  • Os casos limite são tratados corretamente (array vazio, null, undefined)?
  • \n
  • Existem "números mágicos" (números sem explicação, como if (x > 86400) em vez de const ONE_DAY_IN_SECONDS = 86400)?
  • \n
  • O código assíncrono funciona corretamente (Promise, async/await)?
  • \n
\n\n
// Ruim: número mágico\nif (user.lastLogin < Date.now() - 86400000) { ... }\n\n// Bom: constante com nome\nconst ONE_DAY_MS = 24 * 60 * 60 * 1000;\nif (user.lastLogin < Date.now() - ONE_DAY_MS) { ... }
\n\n

2. Estilo de código e formatação

\n

Embora muitos projetos usem Prettier e ESLint, vale a pena verificar manualmente:

\n
    \n
  • Conformidade com um estilo único (indentação, aspas, ponto e vírgula).
  • \n
  • Nomes corretos para variáveis, funções e classes (camelCase para variáveis, PascalCase para classes).
  • \n
  • Ausência de código comentado — ele apenas polui o arquivo.
  • \n
\n\n
// Ruim: nome não informativo\nconst d = new Date();\nconst arr = getData(d);\n\n// Bom: nome descreve a essência\nconst currentDate = new Date();\nconst usersData = fetchUsersData(currentDate);
\n\n

3. Desempenho e segurança

\n

Para Node.js, são especialmente importantes:

\n
    \n
  • Evitar operações bloqueantes na thread principal (leitura síncrona de arquivos, loops pesados).
  • \n
  • Verificar vazamentos de memória (por exemplo, timers ou listeners de eventos esquecidos).
  • \n
  • Validação de entrada do usuário (proteção contra SQL injection, XSS).
  • \n
\n\n
// Ruim: leitura síncrona bloqueia o Event Loop\nconst data = fs.readFileSync('bigfile.json', 'utf8');\n\n// Bom: leitura assíncrona\nconst data = await fs.promises.readFile('bigfile.json', 'utf8');
\n\n

Como dar feedback: princípios de uma revisão construtiva

\n\n

Agora que você sabe o que verificar, vamos abordar a principal habilidade do code review — saber comunicar observações. Seu objetivo é melhorar o código, não se afirmar às custas do autor.

\n\n

1. Seja específico e fundamentado

\n

Em vez de "Este código está ruim", escreva: "Aqui há um potencial problema de desempenho: a chamada Array.find() dentro de um loop resulta em complexidade O(n²). Vamos substituir por Map". O autor entenderá exatamente o que está errado e como corrigir.

\n\n

2. Use "mensagens-eu" e faça perguntas

\n

Formulações como "Não tenho certeza se este código trata o caso de array vazio. Podemos adicionar uma verificação?" soam mais suaves do que "Você esqueceu de tratar o array vazio". Isso reduz a reação defensiva e estimula o diálogo.

\n\n

3. Elogie boas soluções

\n

Code review não é só crítica. Se você vir uma solução elegante ou uma arquitetura excelente, destaque isso. Por exemplo: "Ótima ideia extrair

Blogs

Book Recommendations