Projet

Général

Profil

Identifiants » Historique » Révision 29

Révision 28 (Patrice Nadeau, 2024-01-28 10:56) → Révision 29/38 (Patrice Nadeau, 2024-01-28 11:00)

# Objets 

 

 ## Règles 

 1. Écris en **anglais** avec au maximum **31** caractères : 
     1. Lettres minuscules 
     1. Nombres 
     1. Trait de soulignement 
 1. Commence par une lettre 
 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. Un objet Le modificateur `static` pour les objets ayant une visibilité locale DOIT avoir le modificateur `static` dans sa déclaration 
 1. Un objet « obsolète », DOIT Les objets ne devant plus être utilisés, DOIVENT avoir : 
     1. Un des attributs suivants à sa leur déclaration : 
         1. `deprecated`  
         1. `unavailable` 
     1. Les commentaires Doxygen suivants :  
         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 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> 
 * Génération de message lors de la compilation (`-Wall`)