Projet

Général

Profil

Identifiants » Historique » Révision 50

Révision 49 (Patrice Nadeau, 2025-08-09 21:43) → Révision 50/52 (Patrice Nadeau, 2025-08-09 23:03)

# Identifiants 

 TODO :    library name + module name + action + subject 

 1. En **anglais américain**, maximum de **31** caractères : 
     * Lettres 
         * Macros : 
             * Majuscules et minuscules 
                 > La parie principale DOIT être en majuscule 
         * Fonctions, variables, énumérations, structures, définition de type :  
             * Minuscules 
     * Nombre 
     * Commence par une lettre 
     * Si plusieurs mots sont utilisés, ils DOIVENT être séparées par des traits de soulignement 
 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 ("message"))); __attribute__((deprecated)); 

 /** 
  * @brief older_function 
  * @deprecated Cette fonction est retirée, utiliser new_function à la place 
  * @since Version x.x.xx 
  */ 
 int older_function(void) __attribute__((unavailable ("Message"))); __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-c-coding-standard>