Nommage ===================== Les variable -------------------- Les variables doivent être en minuscule en [snake_case](https://www.theserverside.com/definition/Snake-case) et sans chiffre et si possible refléter le type de variable exemple correct: ``` let nb_chat = 5; // c'est une qte alors nb let chats = Vec::new(); // c'est un tableau alors "s" let is_chat = True; // C'est un booléen du coup is ``` exemple incorrect: ``` let 1chien = 1; // incorrect a cause du chiffre let mechantChien = Chien::new(); // incorrect car CamelCase let IS_CHIEN = False;// incorrect car majuscule let nb_chien = Chien::new(); //incorrect la variable s'appel nb et ne représente pas le type de variable qui est ici un instance de Chien ``` Les classes ===================== les classe/struct doivent commencé par une majuscule et être en un mots exemple correct: ``` struct User {} struct Project {} ``` exemple incorrect: ``` struct user{} // incorrect a cause de la majuscule struct ProjectNuageDePoints // incorrect car en plusieurs mots ``` Structure de code ------------------ Les variable doivent êtres autant que possible en début de fonction ``` fct main() { let variable_correct = 22; println("{}", variable_correct); let variable_incorrect = 35; // incorrect car non déclarré avant première action } ``` Les variable doivent être type si le type c'est pas défini directement. ``` let tata = String::new("une chaine de caractère"); // pas besoin de spécifier le type car on voit direct que c'est une String let toto:String; // ici on défini le type de la varible car elle n'est pas assigné directement toto = "une chaine de caractère mais plus tard"; ``` Pour les block le premier crochet toi être sur le même ligne que l'action(if, for, struct, ...) ``` if toto == True { //correct } if toto == True { //incorrect } if toto = True //incorrect ``` Autre --------------- - Le nom des fonction doivent décrire que quel fait. - Si un block de code revient souvent on créer une fonction. - La longeur des ligne doivent rentrer dans l'ecrans. - La hauteur des fonction doivent rentrer dans l'ecrans. - Les variables dise a quoi elles servent(pas de toto) sauf pour i et j dans les boucle d'intération. - On ne saute pas des ligne inutilement. Un saut de ligne doit séparée 2 fonctionnement ex: déclaration des variable "\n" utilisation de celle si - On ne garde les commentaires de code que si il a vocation a être décommenté. - Les commentaires peuvent être intéressant si le code être trop complexe a lire (ex: un calcul mathématique) mais il n'est pas obligatoire il faut pensé a réécrire le code pour le rendre plus simple plutôt que de faire des truc complexe avec un commentaire.