Skip to content

[QA/QC] Gestion plus stricte des variables (et constantes) #15

Description

@Badacadabra

Pour éviter de perdre des heures à débuguer des problèmes qui vont se poser à un moment, et que l'on peut éviter avec un peu d'anticipation, il me semblerait très utile de gérer plus strictement les variables dans le code existant.

Plusieurs points d'amélioration :

  • Éviter les variables globales

    Risque de conflits et d'effets de bord en tout genre...

    ⛔ déclaration d'une variable avec var dans le contexte principal d'un script, en dehors d'une fonction et d'un module
    ✅ déclaration d'une variable avec let à l'intérieur d'un bloc, d'une fonction ou d'un module

  • Utiliser const (par défaut) et let (si besoin de réaffecter une valeur) plutôt que var

    Pour réduire la portée des variables et garder la maîtrise avec plus de contraintes

    var obj = {};
    const arr = [];
    let str = '';

  • Éviter de mélanger aléatoirement les styles de nommage

    Confusion inévitable (coucou PHP !)

    const totoTata_titi;
    camelCase pour toutes les variables (comme pour les méthodes de base en JS, dans les prototypes)
    snake_case pour toutes les variables (plus courant en Python qu'en JavaScript)
    PascalCase pour le cas particulier des classes

  • En dehors d'un module, préférer les expressions de fonctions aux déclarations de fonctions

    Incompréhension du fait que les fonctions déclarées peuvent être appelées, sans erreur, bien avant leur apparition dans le code car elles sont remontées automatiquement pour l'exécution du programme (hoisting) ; contrairement aux variables

    function fn() {}
    const fn = function() {};
    const fn = () => {};

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions