Version 11 — Mai 2019 — JLuc
Les recommandations pour le code source de SPIP s’appuient sur PSR2 avec des modifications (voir doc SPIP.net).
On est donc plus proche de PSR2R=PSR2 rectified mais des jeux de règles plus spécifiques à SPIP ont été élaborés.
Doc : Outils pour la conformité du php avec les PSR-12
Jeu de règles pour SPIP
La version connue la plus aboutie est : https://gist.github.com/marcimat/0e83a42334ecdb0b9e31d4dd7cb97963
- améliorer le jeu de règles si nécessaire
- améliorer le fixer
- le mettre en hook post commit d’une forge
* avec mantis sur github
* avec drone sur le gitea de git.spip.net
- les différentes sortes de tabulations du codestyle de cerdic font toutes 2 espaces de large
- > 4 c’est mieux
Correction d’instruction inline sur même ligne
La règle
Generic.ControlStructures.InlineControlStructure.NotAllowed</code > du Le fixer ajoute des accolades autour des instructions inline , mais dans certains cas , il laisse ces les instructions sur la même ligne et c'est après avoir ajouté une accolade ouvrante , ce qui produit un code moche.
Par exemple typiquement il corrige
<code>
if ($test) doit();
en
if ($test) { doit();
}
Il devrait plutôt fournir :
if ($test) {
doit();
}
(confirmé par mm)
elseif
Selon PSR2SPIP Les elseif doivent être sur la ligne de l’accolade fermante du if précédent
if ($untest) {
$index = $donnees['index'];
include_spip('about_truc')
$truc = get_truc($index);
} elseif ($autrecas) {
$index = $donnees['index'];
include_spip('about_truc')
$truc = get_truc($index);
}
mais il semblerait serait agréable de reporter le elseif à la ligne suivant l’accolade fermante
if ($untest) {
$index = $donnees['index'];
include_spip('about_truc')
$truc = get_truc($index);
}
elseif ($autrecas) {
$index = $donnees['index'];
include_spip('about_truc')
$truc = get_truc($index);
}