Skip to content

Latest commit

 

History

History
28 lines (25 loc) · 2.46 KB

README.md

File metadata and controls

28 lines (25 loc) · 2.46 KB

Directives

Contient les directives pour le code, strucutre de projet... pour uniformiser le travail.

Conventions de programmation :

  • Utiliser les extensions .cpp et .hpp pour les fichiers C++

  • Commenter bien les header file, le lecteur est interessé par l'interface de classe/structure plus que par les détails d'implémentaton (fichier .cpp)

  • L'utilisation des directives using est interdite dans le header file

  • Préférence de ne pas dépasser 80 caractères par ligne

  • Importer seulement les entités à utiliser au lieu d'importer un namespace au complet (ex :using std::cout ou lieu de using namespace std ), sauf necéssaire

  • Utiliser tab pour identation, pas des espaces

  • Utiliser toujours des accolades pour boucles if else while meme s'il s'agit d'une seule ligne

  • Nommer les fonctons avec la notation PascalCase : ex NomFonction

  • Nommer les classes et structures (struct, enum...) avec la notation PascalCase : ex NomClasse

  • Si les fichiers .cpp et .hpp servent à définir une classe, nommer ces fichier avec le meme nom que celui de la classe

  • Rajouter le préfixe Interface pour le nom des classes interfaces et Abstract pour les classes abstraites

  • Pour les variables et les parametres de fonction, utiliser camelCase : nomVariable et nomParametre

  • Rajouter le prefixe g_ pour les variables globales et c_ pour les constantes globales :g_variableGlobale et c_constanteGlobale

  • Pour les variables membres d'une classe , rajouter le préfixe m_ : m_nomVariableMembre

  • Pour les variables statique d'une classe, rajouter le préfixe s_ : s_nomVariableMembre

  • Utiliser #pragma once au lieu des include guards classiques.

  • Eviter les abbréviations dans les noms des variables qui ne sont pas clairs au lecteur externe

    -(Si ca te prend plus que 1-2s de réflexion pour comprendre ton abbrévation, c'est probablement pas un bon nom de variable)

  • Pour le nom des macros, utiliser la notation snake_case en majuscule : NOM_MACRO

    • Commencer le nom de la macro avec un nom general du software , ensuite le namespace et finalement le nom de la macro : EULER_SOLVER_NOM_MACRO
  • Préférer le plus possible l'utilisation des pointeur intelligent std::unique_ptr/shared_ptr sur les pointeur à la C (new/delete)

  • Préférer le plus possible de passer les arguments d'une foncton par const & au lieu de passer les arguments par valeur