Projet

Général

Profil

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>