Prettier

Un formateur de code désormais dispo en PHP

Aurélien David - @spyl94 - CTO @CapCollectif

 

  • Ajouter des lignes pour espacer notre code;
  • Corriger une indentation qui ne nous plait pas;
  • Aligner correctement les arguments de fonction; 
  • Relever en code review les problèmes de syntaxe;
  • Choisir et maintenir une convention de code;

 

👨‍💻 Arrêtons de discuter syntaxe, laissons un outil le faire pour nous. Concentrons nous sur les vrais problèmes !

Quand on y consacre 5 minutes par jour, ça fait plus de  2 jours dans l'année de perdu.

Combien de temps de perdu ?

PHP Coding Standards Fixer

L'outil le plus utilisé en PHP

Lit notre code et en se basant sur un système de règles, reporte ou corrige les erreurs.

C'est très semblable à ESLint en JavaScript.

AST

Re-print

Une approche différente


array_maparray (function($arg1,$arg2) use ( $var1, $var2 ) {
    return $arg1+$arg2/($var+$var2);
}, array("complex"=>"code","with"=>"inconsistent","formatting"=>"is", "hard" => "to", "maintain"=>true));
array_map(
    function ($arg1, $arg2) use ($var1, $var2) {
        return $arg1 + $arg2 / ($var + $var2);
    },
    array(
        "complex" => "code",
        "with" => "inconsistent",
        "formatting" => "is",
        "hard" => "to",
        "maintain" => true
    )
);

Input

Output

🎉 L'algorithme prend en compte la taille des lignes. 🎉

Le plugin PHP

  • Basé sur PSR-1, PSR-2 et PSR-12
  • Encore en alpha mais déjà (presque) certain de ne pas casser votre code.
  • Le rendu du code est déjà très bien et s'améliore de jour en jour.

Très peu de configuration possible

Installation

yarn global add prettier/prettier @prettier/plugin-php

prettier --parser php --write "src/**/*.php"

Conseil perso, intégrez le en tant que pre-commit :

"lint-staged": {
    "*.php": [
      "prettier --parser php --write",
      "git add"
    ]
}

Merci ! Questions ?

On travaille dur pour mettre à jour la démocratie... Vous nous donnez un coup de pouce ? 🙏

Aurélien David - @spyl94 - spyl.net