Qualité du code, outils d'aide

Bonjour, chers Habrovites!



Récemment, dans la communauté PHP, j'entends souvent des discussions sur la révision de code, j'ai décidé de contribuer, je veux parler des possibilités qui visent à vous simplifier la vie et à améliorer la qualité du code dans votre projet. C'est pertinent non seulement pour PHP, des outils similaires décrits ici existent également pour d'autres langages de programmation, par exemple, j'ai appris à leur sujet lorsque j'ai participé à un projet sur NodeJS.



Je souhaite partager des outils conçus pour améliorer la qualité du code, trouver des erreurs de syntaxe, tout ramener à un style de code, etc.



Pré-engagement



Si vous tapez "pre-commit php" dans un moteur de recherche, il vous donnera plusieurs scripts prêts à l'emploi qui analysent le code écrit. Pour git, le script doit être placé dans le dossier «.git / hooks /», puis chaque fois que vous commettez, il s'exécutera et si des erreurs sont trouvées, il ne vous permettra tout simplement pas de pousser le code dans le référentiel. Certains IDE ont des plugins séparés qui font la même chose, mais que faire si vous avez une grande équipe et que tout le monde utilise des éditeurs différents? Et il est plus facile de configurer ce script une fois en le téléchargeant dans votre référentiel que de configurer son IDE pour chaque développeur séparément. Ce qui est plus important, dans ce script, vous pouvez ajouter tous les autres outils que vous utilisez dans votre équipe, comme un analyseur statique (par exemple phpstan) et / ou des tests unitaires (par exemple phpunit )



Outils pour aider à améliorer la qualité du code



php -l (Syntax check only (lint)) est un vérificateur de syntaxe intégré au cœur de PHP.



php-cs-fixer (PHP Coding Standards Fixer) - Corrige votre code sur PSR-1, PSR-2, etc., ou d'autres communautés comme Symfony. Vous pouvez également définir votre style (d'équipe) via la configuration. Ceux. toute votre équipe aura le même style de code.



php-cs + php-cbf (PHP CodeSniffer + PHP Code Beautifier) ​​- C'est un ensemble de deux scripts PHP; Le script phpcs principal, qui extrait les fichiers PHP, JavaScript et CSS pour détecter les violations d'une norme de codage spécifique, et le second script phpcbf corrige automatiquement les violations de codage courantes. Outil similaire à php-cs-fixer.



php-md (PHP Mess Detector) - Projet parallèlePHP Depend , qui vise à être l'équivalent PHP du célèbre outil Java PMD. Prend une base de code source PHP donnée et recherche plusieurs problèmes potentiels dans cette source. Ces problèmes peuvent être tels que des erreurs de syntaxe, du code sous-optimal, des expressions trop complexes, des paramètres / méthodes / propriétés inutilisés.



php-cpd (PHP Copy / Paste Detector) - Détecteur de copier / coller pour le code PHP. Ceux. trouve les mêmes blocs de code dans différentes parties de l'application qui peuvent être déplacés dans des fonctions / méthodes distinctes.



Vous pouvez plonger plus profondément dans la révision automatisée du code et vous trouverez probablement de nombreux autres outils intéressants.



Production



En utilisant les outils disponibles dans le monde du développement, vous pouvez automatiser de nombreux processus de routine de vérification du code, ce qui améliorera sa qualité d'un ordre de grandeur (puisque nous excluons le facteur humain). Pour une plus grande confiance dans l'utilisation de ces outils par toute l'équipe, vous pouvez les injecter dans un script de pré-validation qui est exécuté avant la création de la validation dans votre système de contrôle de source.



All Articles