Utiliser des noms de variable/méthodes explicites
Avantage: On sait ce qu'on manipule
Ne pas pré-setter toutes les variables au début de la méthode
Avantage: Pas besoin de se rappeler la valeur de la variable
Ne pas pré-setter une variable pour l'override après
Avantage: Pas besoin de se rappeler la valeur d'initialisation
Faire des early-return si la suite du code n'est pas nécessaire
Avantage: Pas besoin de lire la suite si on est dans le "early" cas
Préférer les exceptions aux fallback pour les cas impossibles
Avantage: Les bugs ne sont pas silencieux, donc détectés plus tôt
Toujours gérer les valeurs null/false, même si "impossibles"
Avantage: Le code est plus robuste
+ une erreur en moins PHPStan 8
Commenter le pourquoi et non le quoi
Avantage: On comprend mieux l'intérêt du code en question et on évite d'introduire un bug en le modifiant
Typer le contenu des array dans la phpdoc
Avantage: PHPStan bosse pour vous et la méthode est plus claire
Utiliser des booléens dans les conditions
Avantage: On comprend plus facilement le cas écarté
Éviter les méthodes statiques
Avantage: La méthode peut être mockée dans les tests unitaires lorsqu'elle est utilisée par un autre service
Ne pas utiliser de state interne dans un service ou faire des "appels en deux temps"
Avantage: L'utilisation de la méthode est définie dans sa signature, la méthode est pure (les mêmes params donnent le même résultat)
Ne pas caster les floats en int ou les comparer directement
Avantage: Pas de risque de bug