IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

norme d'écriture de PHP


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 484
    Par défaut norme d'écriture de PHP
    bonjour,

    en regardant le changelog d'une API, j'ai vu ça :

    Increased overall code quality by reaching PHPStan Level 7
    est-ce que ça parle à quelqu'un ?
    j'ai jamais entendu de parler de norme qualitative de php.
    quelqu'un a une expérience avec cela ?

    est-ce par exemple d'écrire du code propre ou du code optimisé ?

    bonne journée

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 350
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 350
    Billets dans le blog
    17
    Par défaut
    PHPStan est un outil d'analyse du code.

    Tu peux le paramétrer sur différents niveaux d'analyse, plus le niveau est haut, plus l'analyse est stricte.

    https://phpstan.org/user-guide/rule-levels
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 500
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 500
    Par défaut
    Citation Envoyé par clavier12AZQSWX Voir le message
    j'ai jamais entendu de parler de norme qualitative de php.
    quelqu'un a une expérience avec cela ?
    Je ne connaissais pas PHPStan en particulier mais une brève recherche nous mène à ceci : Rule levels

    est-ce par exemple d'écrire du code propre ou du code optimisé ?
    Oui, ça se fait beaucoup dès lors qu'un projet commence à avoir de l'envergure. Pas que le code soit forcément meilleur après ça mais au moins, il a la même allure partout. Le même genre de règle est en vigueur dans le noyau Linux par exemple. Le tout est de choisir des règles censées — et justifiées — pour que la communauté les accepte.

    Le revers de ce genre de vérificateur est que, de leur côté, ils tendent à intégrer tout ce qui sort un poil de l'ordinaire pour être sûrs d'être exhaustifs et que, du côté du mainteneur, on a tendance à aller activer toutes les options pour être sûrs d'être efficace sans se demander si c'est réellement utile.

    Moralité, le programmeur n'a pratiquement plus aucune liberté et se retrouve parfois même contraint d'écrire des choses qu'il évite par principe par ailleurs et ça devient assez frustrant.

    L'un des exemples qui m'horripile le plus à titre personnel est le fait d'imposer un bloc d'accolade { } même s'il n'y a qu'une seule instruction dedans. Moi je considère cela comme une mauvaise pratique. Le fait que le Rust, par exemple, ait imposé cela dans sa norme me déprime.

  4. #4
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    553
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 553
    Par défaut
    Bonjour,

    Citation Envoyé par Obsidian Voir le message
    Oui, ça se fait beaucoup dès lors qu'un projet commence à avoir de l'envergure. Pas que le code soit forcément meilleur après ça mais au moins, il a la même allure partout.
    PHPstan traite plutôt l'analyse statique du code que la mise en forme (c'est plutôt du côté de PHP-CS-Fixer qu'il faut regarder pour ça).

    L'approche par niveau de PHPstan est vraiment intéressante pour monter en gamme progressivement :

    - Les premiers niveaux sont généralement indolores sur code PHP "moderne" (même si les types des paramètres et types de retour ne sont pas toujours définis)
    - De mémoire, les niveaux 7 et 8 permettent de s'astreindre à typer les retours et vérifier par exemple que le cas null est bien traité par l'appelant d'une méthode renvoyant string|null.

    Avec cette approche, PHPStan permet de s'imposer la rigueur d'un langage fortement typé en PHP (donc de pouvoir vérifier des éléments avant l'exécution, donc de pouvoir éviter plus facilement certains bugs...)

    Par rapport à d'autres outils qui balancent une batterie de "code smells" plus ou moins pertinents, ce côté progressif motive au passage (il y a de la fierté dans ce "Increased overall code quality by reaching PHPStan Level 7" )

Discussions similaires

  1. Respect de la norme PSR-2 avec PHP Code Sniffer
    Par Jiraiya42 dans le forum Langage
    Réponses: 2
    Dernier message: 23/03/2014, 23h20
  2. [XML] Créer fichier XML au norme SEPA en PHP
    Par XanixXx dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 02/07/2013, 23h07
  3. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  4. [PHP 5.3] norme des balises PHP
    Par Invité dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2010, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo