Identifiants » Historique » Révision 45
Révision 44 (Patrice Nadeau, 2025-03-23 12:00) → Révision 45/47 (Patrice Nadeau, 2025-03-23 12:05)
# Identifiants 1. En **anglais américain**, maximum de **31** caractères : 1. Lettres * Macros : * Majuscules et minuscules > La parie principale DOIT être en majuscule * Fonctions, variables, énumérations, structures, définition de type : * Minuscules Alphanumériques 1. Nombre 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 DOIT être 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>