Code review em PHP: o que verificar e como dar feedback
\n\nCode review não é apenas uma formalidade, mas uma ferramenta poderosa para o crescimento da equipe e melhoria da qualidade do código. Para desenvolvedores PHP iniciantes, o processo de revisão muitas vezes parece assustador: "E se eu deixar passar um bug?", "Como dizer a um colega que o código dele está ruim?". Neste artigo, vamos analisar o que observar ao revisar código PHP e como dar feedback para que ele seja útil, e não ofensivo.
\n\n1. O que verificar no código PHP: checklist para o revisor iniciante
\n\nVamos começar pelo lado técnico. Aqui estão as principais categorias a serem verificadas durante um code review de um projeto PHP:
\n\n- \n
- Segurança (Security) — a área mais crítica. Verifique se não há injeções SQL, vulnerabilidades XSS, dados de entrada não protegidos. \n
- Conformidade com padrões de codificação — PSR-1, PSR-12 (ou os padrões da sua equipe). Isso garante legibilidade e uniformidade. \n
- Desempenho — evite consultas desnecessárias ao banco de dados, loops ineficientes, operações pesadas dentro de loops. \n
- Arquitetura e lógica — cumprimento dos princípios SOLID, DRY, KISS. O código está duplicado? A lógica está muito complexa? \n
- Tratamento de erros — há try-catch? As exceções são registradas corretamente? Os erros não estão sendo suprimidos? \n
- Tipagem e rigor — o código usa strict_types? Os tipos de argumentos e valores de retorno estão corretamente especificados? \n
Aqui está um exemplo de código ruim e bom do ponto de vista de segurança:
\n\n<?php\n// RUIM: vulnerável a injeção SQL\n$query = "SELECT * FROM users WHERE id = " . $_GET['id'];\n$result = mysqli_query($conn, $query);\n\n// BOM: uso de consultas preparadas\n$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");\n$stmt->bind_param("i", $id);\n$id = (int)$_GET['id'];\n$stmt->execute();\n$result = $stmt->get_result();\n?>\n\n2. Como dar feedback: princípios de uma revisão construtiva
\n\nA parte técnica é metade do trabalho. A outra metade é a capacidade de transmitir suas observações de forma que o autor do código queira corrigi-las, em vez de se sentir ofendido ou na defensiva.
\n\nRegras básicas para feedback:
\n\n- \n
- Fale sobre o código, não sobre a pessoa. Em vez de "Você escreveu um código horrível", diga "Neste ponto há uma vulnerabilidade potencial, vamos discutir como corrigi-la". \n
- Use "mensagens-eu". "Eu vejo que aqui pode ocorrer um erro, porque..." — soa mais suave do que "Você errou". \n
- Explique o "porquê". Não apenas "Use prepared statements", mas "Prepared statements protegem contra injeções SQL porque separam os dados do código da consulta". \n
- Ofereça alternativas. Em vez de "Isso está ruim", mostre como pode ser feito melhor. \n
- Elogie o que é bom. Não se esqueça de destacar boas soluções: "Ótima ideia extrair a validação para uma classe separada!". \n
Exemplo de comentário construtivo:
\n\n<!-- COMENTÁRIO RUIM -->\n<!-- Por que você não está usando tipagem estrita? Isso é o básico! -->\n\n<!-- COMENTÁRIO BOM -->\n<!-- Sugiro adicionar declare(strict_types=1) no início do arquivo. \nIsso fará o PHP verificar os tipos rigorosamente e evitará conversões \nimplícitas acidentais que podem levar a bugs. -->\n\n3. Erros típicos em código PHP que você deve procurar na revisão
\n\nAqui está uma lista de problemas comuns encontrados no código de desenvolvedores PHP iniciantes. Preste atenção especial a eles:
\n\n- \n
- Falta de validação de dados de entrada. Nunca confie em $_GET, $_POST, $_REQUEST, $_FILES. \n
- Variáveis globais e arrays superglobais dentro de funções. Isso viola o encapsulamento e di