Projet

Général

Profil

Identifiants » Historique » Révision 43

Révision 42 (Patrice Nadeau, 2025-03-23 11:20) → Révision 43/47 (Patrice Nadeau, 2025-03-23 11:56)

# Identifiants 

 1. Macros : TODO 
 1. Nom (fonctions, variables, énumérations, structures, définition de type) 
     1. En **anglais américain**, maximum de **31** caractères : 
     
         1. Alphanumériques Lettres minuscules 
         1. Nombres 
         1. Trait de soulignement 
     1. Commence par une lettre 
     1. Si plusieurs mots sont utilisés, ils DOIVENT être séparées par des traits de soulignement 
 1. Macros : 
     1. En majuscules et minuscules 
         > La parie principale et en majuscule 
 1. Nom (fonctions, variables, énumérations, structures, définition de type) 
     1. Lettres minuscules 
 1. Déclaration 
     1. Un objet ayant une visibilité locale DOIT avoir le modificateur `static`  
     1. Un objet « obsolète », DOIT avoir : 
         1. Un des attributs : 
             > Génération de message lors de la compilation (`-Wall`) 
             * `deprecated`  
             * `unavailable` 
         1. Les commentaires Doxygen :  
             * `@deprecated` : Indications sur le remplacement à utiliser 
             * `@since` : Depuis quel version le changement est apparue 
 1. Commentaires Doxygen :  
     1. `@brief` : Description obligatoire 
     1. `@sa` : Lien vers une autre item (see also), facultatif 
     1. `@todo` : Notes sur les tachés à faire, facultatif 
     1. `@bug` : Notes sur les bogues présents, facultatif 
     1. La gradations des notes et remarques se fait selon : 
         * `@remark` : Non importante 
         * `@note` : Général 
         * `@attention` : Important 
         * `@warning` : Conséquence négative 

 ## Exemple 
 ``` c 
 /** 
  * @brief old_function 
  * @deprecated Cette fonction seras retirée, utiliser new_function à la place 
  * @since Version x.x.xx 
  */ 
 int old_function(void) __attribute__((deprecated)); 

 /** 
  * @brief old_function 
  * @deprecated Cette fonction est retirée, utiliser new_function à la place 
  * @since Version x.x.xx 
  */ 
 int old_function(void) __attribute__((unavailable)); 
 ``` 

 ## Justification 
 * Linux kernel coding style : <https://www.kernel.org/doc/html/v4.10/process/coding-style.html#naming> 
 * GNU Coding Standards <https://www.gnu.org/prep/standards/html_node/Writing-C.html#Writing-C> 
 * Embedded C Coding Standard : <https://barrgroup.com/embedded-systems/books/embedded-c-coding-standard>