Identifiants » Historique » Révision 23
Révision 22 (Patrice Nadeau, 2024-01-28 10:41) → Révision 23/38 (Patrice Nadeau, 2024-01-28 10:43)
# Objets ## Règles 1. Écris en anglais avec au maximum **31** caractères : 1. Lettres minuscules 1. Nombres 1. Trait de soulignement 1. Si plusieurs mots sont utilisés, ils sont séparées par des traits de soulignement 1. Les commentaires Doxygen suivants sont ajoutés 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 1. Le modificateur `static` pour les objets ayant une visibilité locale 1. Les objets ne devant plus être utilisés, DOIVENT générer un message lors de la compilation (`-Wall`) si un appel est effectué. 1. Les attributs`deprecated` ou `unavailable` DOIVENT être ajoutés à la déclaration. 1. Les commentaires Doxygen suivants doivent être ajoutés : 1. `@deprecated` : Indications sur le remplacement à utiliser 1. `@since` : Depuis quel version le changement est apparue ## Exemple ``` c /** * @brief old_function * @deprecated Cette fonction seras retirée dans une prochaine version, utiliser 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 Utiliser new_function à la place * @since Version x.x.xx */ int old_function(void) __attribute__((unavailable)); /** * @brief MACRO1 * @deprecated Utiliser NEWMACRO à la place * @since Version x.x.xx */ #define MACRO1 43 #pragma GCC poison MACRO1 /** * @brief Fonction locale * @return Une valeur */ static int local_func(void) { ... return 0; } ``` ## 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>