Actions
Identifiants » Historique » Révision 11
« Précédent |
Révision 11/38
(diff)
| Suivant »
Patrice Nadeau, 2024-01-27 15:26
Objets¶
Règles¶
- Comportent au maximum 31 caractères :
- Lettres minuscules
Les macros sont en lettres majuscules
- Nombres
- Trait de soulignement
- Lettres minuscules
- Si plusieurs mots sont utilisés, ils sont séparées par des traits de soulignement
- Les objets ne devant plus être utilisés, DOIVENT générer un message lors de la compilation (
-Wall
) si un appel est effectué.- Les attributs
deprecated
ouunavailable
DOIVENT être ajoutés à la déclaration. - Les commentaires Doxygen suivants doivent être ajoutés :
-
@deprecated
: -
@since
:
-
- Les attributs
Exemple¶
/**
* @brief OldFunction
* @deprecated Utiliser NewFunction à la place
* @since Version x.x.xx
*/
int OldFunction(void) __attribute__((deprecated));
/**
* @brief OldFunction
* @deprecated Utiliser NewFunction à la place
* @since Version x.x.xx
*/
int OldFunction(void) __attribute__((unavailable));
/**
* @brief MACRO1
* @deprecated Utiliser NEWMACRO à la place
* @since Version x.x.xx
*/
#define MACRO1 43
#pragma GCC poison MACRO1
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
Déclarations locales¶
Une déclaration n’ayant qu’une visibilité locale DOIT :
- Être de classe
static
Exemple:
/**
* @brief Fonction locale
* @return Une valeur
*/
static int local_func(void) {
...
return 0;
}
Constantes¶
Utilisé au lieu d’une macro quand le type ou la visibilité de la variable doit être définis.
Exemple :
/**
* @name Liste des constantes
* @brief
*/
/** @{ */
/** @brief La chaîne d'initialisation du projet */
static const char INIT_STR[6] = "POWER";
/** @brief Constante globale de la librairie `random` */
extern int RANDOM_MAX = 25;
/** @} */
/** @brief Constante */
const int ANSWER 42;
Variables¶
Exemple :
/** @brief Variable locale */
static int ctr;
/** @brief Variable globale */
int RANDOM_CTR;
Mis à jour par Patrice Nadeau il y a 11 mois · 11 révisions