Depuis 2009 un ensemble de règles d'écriture de code PHP simplifie la reprise du code écrit et le travail collaboratif.
Ces règles sont devenus les standards PSR (https://en.wikipedia.org/wiki/PHP_Standard_Recommendation ; https://www.php-fig.org/psr/), adressant différents aspects du code : autoload, indentation et alignements, logging, ...
Problème
Ne pas avoir de code ayant un style fixe produit des commit git et des soucis d'alignement dans les éditeurs (parfois le code est indenté avec des tabulations, parfois avec des espaces, les ouvertures et fermetures d'accolade ne sont pas forcement identiques dans différentes sections du code, ce qui se traduit pas de difficultés à relire le code et d'apporter des contributions productives.
Proposition de solution
L'implémentation du standard PSR-12 (version actuelle qui améliore PSR-0 et PSR-2) permettrait d'implémenter un style commun et reconnu et des outils comme PHP_codesniffer (binaires phpcs et phpcbf) permettraient de détecter et voire automatiquement corriger le code afin de garder un style PSR-12 uniforme.
De plus, le suivi des standards permet aux outils d'analyse de mieux lire le code pour différentes fonctions comme l'analyse de compatibilité avec des versions de PHP, trouver les blocs de code non factorisés, ...
Les outils d'intégration continue permettent de dérouler des scripts de tests avec différents outils (phpunit avec code coverage et des outils comme ceux de la liste ci-dessous) permettant entre autre la détection de problèmes et un éventuel reporting.
PHPCompatibility : plugin sous forme d'un code style standard pour phpcs (pour détecter l'usage de fonctions, ... pour une ou plusieurs versions de PHP)
Description
Depuis 2009 un ensemble de règles d'écriture de code PHP simplifie la reprise du code écrit et le travail collaboratif. Ces règles sont devenus les standards PSR (https://en.wikipedia.org/wiki/PHP_Standard_Recommendation ; https://www.php-fig.org/psr/), adressant différents aspects du code : autoload, indentation et alignements, logging, ...
Problème
Ne pas avoir de code ayant un style fixe produit des commit git et des soucis d'alignement dans les éditeurs (parfois le code est indenté avec des tabulations, parfois avec des espaces, les ouvertures et fermetures d'accolade ne sont pas forcement identiques dans différentes sections du code, ce qui se traduit pas de difficultés à relire le code et d'apporter des contributions productives.
Proposition de solution
L'implémentation du standard PSR-12 (version actuelle qui améliore PSR-0 et PSR-2) permettrait d'implémenter un style commun et reconnu et des outils comme PHP_codesniffer (binaires
phpcs
etphpcbf
) permettraient de détecter et voire automatiquement corriger le code afin de garder un style PSR-12 uniforme.De plus, le suivi des standards permet aux outils d'analyse de mieux lire le code pour différentes fonctions comme l'analyse de compatibilité avec des versions de PHP, trouver les blocs de code non factorisés, ...
Les outils d'intégration continue permettent de dérouler des scripts de tests avec différents outils (phpunit avec code coverage et des outils comme ceux de la liste ci-dessous) permettant entre autre la détection de problèmes et un éventuel reporting.
Liens web de documentation