Revue de code en PHP : quoi vérifier et comment donner un retour aux débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Revue de code en PHP : quoi vérifier et comment donner un retour

\n\n

La revue de code n'est pas qu'une simple formalité, mais un outil puissant pour la croissance de l'équipe et l'amélioration de la qualité du code. Pour les développeurs PHP débutants, le processus de révision semble souvent intimidant : « Et si je rate un bug ? », « Comment dire à un collègue que son code est mauvais ? ». Dans cet article, nous allons voir sur quoi se concentrer lors de la vérification du code PHP et comment donner un retour qui soit utile, et non blessant.

\n\n

1. Que vérifier dans le code PHP : une checklist pour le relecteur débutant

\n\n

Commençons par l'aspect technique. Voici les principales catégories à vérifier lors d'une revue de code d'un projet PHP :

\n\n
    \n
  • Sécurité (Security) — la zone la plus critique. Vérifiez qu'il n'y a pas d'injections SQL, de vulnérabilités XSS, ou de données d'entrée non protégées.
  • \n
  • Conformité aux normes de codage — PSR-1, PSR-12 (ou les normes de votre équipe). Cela garantit la lisibilité et l'uniformité.
  • \n
  • Performance — évitez les requêtes inutiles à la base de données, les boucles non optimales, les opérations lourdes à l'intérieur des boucles.
  • \n
  • Architecture et logique — respect des principes SOLID, DRY, KISS. Le code est-il dupliqué ? La logique est-elle trop complexe ?
  • \n
  • Gestion des erreurs — y a-t-il des blocs try-catch ? Les exceptions sont-elles correctement journalisées ? Les erreurs sont-elles supprimées ?
  • \n
  • Typage et rigueur — le code utilise-t-il strict_types ? Les types des arguments et des valeurs de retour sont-ils correctement spécifiés ?
  • \n
\n\n

Voici un exemple de mauvais et de bon code du point de vue de la sécurité :

\n\n
<?php\n// MAUVAIS : vulnérabilité à l'injection SQL\n$query = "SELECT * FROM users WHERE id = " . $_GET['id'];\n$result = mysqli_query($conn, $query);\n\n// BON : utilisation de requêtes préparées\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\n

2. Comment donner un retour : principes d'une revue constructive

\n\n

La partie technique ne représente que la moitié du travail. L'autre moitié, c'est la capacité à formuler vos remarques de manière à ce que l'auteur du code veuille les corriger, sans se sentir offensé ou sur la défensive.

\n\n

Règles de base pour le retour :

\n\n
    \n
  • Parlez du code, pas de la personne. Au lieu de « Tu as écrit un code horrible », dites « Il y a une vulnérabilité potentielle à cet endroit, discutons de la façon de la corriger ».
  • \n
  • Utilisez des messages en « Je ». « Je vois qu'une erreur pourrait survenir ici parce que... » — cela sonne plus doux que « Tu t'es trompé ».
  • \n
  • Expliquez le « pourquoi ». Pas simplement « Utilise des requêtes préparées », mais « Les requêtes préparées protègent contre les injections SQL car elles séparent les données du code de la requête ».
  • \n
  • Proposez des alternatives. Au lieu de « C'est mauvais », montrez comment faire mieux.
  • \n
  • Félicitez pour le bon travail. N'oubliez pas de souligner les bonnes solutions : « Excellente idée d'extraire la validation dans une classe séparée ! ».
  • \n
\n\n

Exemple de commentaire constructif :

\n\n
<!-- MAUVAIS commentaire -->\n<!-- Pourquoi tu n'utilises pas le typage strict ? C'est la base ! -->\n\n<!-- BON commentaire -->\n<!-- Je suggère d'ajouter declare(strict_types=1) en début de fichier. \nCela forcera PHP à vérifier les types de manière stricte et empêchera les \nconversions implicites accidentelles qui peuvent entraîner des bugs. -->
\n\n

3. Erreurs typiques du code PHP à rechercher lors de la revue

\n\n

Voici une liste de problèmes courants que l'on trouve dans le code des développeurs PHP débutants. Portez-y une attention particulière :

\n\n
    \n
  • Absence de validation des données d'entrée. Ne faites jamais confiance à $_GET, $_POST, $_REQUEST, $_FILES.
  • \n
  • Variables globales et tableaux superglobaux à l'intérieur des fonctions. Cela viole l'encapsulation et complique les tests.
  • \n

Blogs

Book Recommendations