Règles du code
Général :
- Migrer le JS dans un fichier, ne laisser dans le fichier twig que la déclaration des variables
Twig :
- Lorsqu'une balise en imbrique une autre, toujours ajouter une indentation
- Lorsque l'on est sur le même niveau d'indentation, passer une ligne
- Lorsque la balise a trop d'attributs, les lister les uns en dessous des autres
- Lorsque le contenu d'une balise est vide, la laisser sur une seule ligne (sauf si elle a trop d'attributs)
- Ne jamais mettre de texte en dur, toujours passer par des clés de traduction
Bonnes Pratiques
Si on retire le texte en dur
<div class="my-class">
<div>
<p>bar</p>
</div>
<a
class="my-a"
href="https://www.google.com"
target="_blank"
>
<i class="bi bi-0-circle-fill"></i>
Google
</a>
<p>foo2</p>
<p>bar2</p>
</div>
Mauvaises Pratiques
<div class="myClass">
<div><p>bar</p></div>
<a class="my-a" href="https://www.google.com" target="_blank">
<i class="bi bi-0-circle-fill"></i>Google</a>
<p>foo2</p>
<p>bar2</p>
</div>
PHP :
- Lorsque plusieurs actions concernent la même logique, regrouper le code
- Si un tableau fait plus d'une dimension ou s'il devient trop gros, privilégier l'utilisation d'une DataClass
- Ajouter des espaces avant et après le "." lorsqu'on concatène
- Nommer les variables le plus clairement possible et éviter les abréviations, quitte à faire des noms de variable longs
- If :
- Ne pas utiliser le yoda style, définition
- Ajouter des espaces entre le if et les parenthèses
- Si possible, se limiter à une seule condition dans le if
- S'il n'est pas possible de se limiter à une condition, faire un retour à la ligne pour chacune d'elle
- Migrations :
- Si l'on génère plusieurs migrations dans une seule branche, les regrouper
- Pas besoin de se préoccuper des commentaires générés en même temps que la migration
- Pas besoin d'ajouter une description
Bonnes Pratiques
Regroupement de code :
$user->setName('FOO');
$user->setFirstName('Bar');
if ($user->getName() === 'FOO') {
echo 'User's name equals FOO';
}
Tableaux :
$data = [
'foo' => 'foo',
'bar' => 'bar',
'key' => 'value',
]
Concaténation :
$fullName = $user->setFirstName('Bar') . " " . $user->setName('FOO');
$test = $foo . $bar . $myVariable;
Noms de variable :
$establishmentName
$currentDate
$isEstablishmentExist
$data
if :
if (
$name === 'FOO'
&& $firstName === 'Bar'
) {
echo 'fullname => Bar FOO';
}
if ($name === 'FOO') {
echo 'name => FOO';
}
Mauvaises Pratiques
Regroupement de code :
$user->setName('FOO');
$user->setFirstName('Bar');
if ($user->getName() === 'FOO') {
echo 'User's name equals FOO';
}
Tableaux :
Dans des cas de figure cimilaires, passer par une Dataclass
$data = [
'foo' => 'foo',
'bar' => 'bar',
'key' => 'value',
'toto' => [
'foo' => 'foo',
'bar' => 'bar',
'key' => 'value',
],
]
Concaténation :
$fullName = $user->setFirstName('Bar')." ".$user->setName('FOO');
$test = $foo. $bar .$myVariable;
Noms de variable :
$estabName
$curDt
$is_estab_exist
// pour data
$d
if :
if($name === 'FOO' && $firstName === 'Bar'){
echo 'fullname => Bar FOO';
}
if ('FOO' === $name) {echo 'name => FOO';}