Aller au contenu principal

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';}