Actions
Wiki » Historique » Révision 189
« Précédent |
Révision 189/213
(diff)
| Suivant »
Patrice Nadeau, 2026-01-18 20:05
Règles de codage C¶
Le langage C utilisé avec le compilateur GCC :
- Standard C99 (
-std=c99) - Extensions GNU
-
attribute((deprecated)) (
-Wdeprecated-declaration) - attribute((noreturn))
- #pragma GCC message ""
- #pragma GCC warning ""
- #pragma GCC error ""
-
attribute((deprecated)) (
Identifiants¶
-
Ne DOIT PAS contenir plus de 31 caractères
ANSI standards
- a @ z
- A @ Z
- 0 @ 9
- Trait de soulignement (__)
-
En anglais américain :
- Lettres
- Macros :
- Majuscules et minuscules
La parie principale DOIT être en majuscule
- Majuscules et minuscules
- Fonctions, variables, énumérations, structures, définition de type :
- Minuscules
- Macros :
- Nombre
- Commence par une lettre
- Si plusieurs mots sont utilisés, ils DOIVENT être séparées par des traits de soulignement
- Lettres
-
Déclaration
- Un objet ayant une visibilité locale DOIT avoir le modificateur
static - Un objet « obsolète », DOIT avoir :
- Un des attributs :
Génération de message lors de la compilation (
-Wall)deprecatedunavailable
- Les commentaires Doxygen :
-
@deprecated: Indications sur le remplacement à utiliser -
@since: Depuis quel version le changement est apparue
-
- Un des attributs :
- Un objet ayant une visibilité locale DOIT avoir le modificateur
Fichiers¶
Structure des répertoires et fichiers
Format selon la commande
tree --charset ascii
.
|-- AUTHORS : Fichier contenant les noms et courriels des auteurs
|-- bin : Répertoire contenant le fichier exécutable et les librairies compilées
|-- ChangeLog : Fichier des changements
|-- config.h : Fichier optionel contenant les macros communes au programme dans son ensemble (-imacros)
|-- COPYING : Fichier de licence (standard GNU)
|-- docs : Répertoire de la documentation (.pdf)
|-- include : Répertoire des fichiers d’en-tête (.h)
|-- INSTALL
|-- lib : Répertoire des libraires externes (liens symboliques)
|-- Makefile.in : Fichier d'informations spécifiques du projet pour le Makefile
|-- NEWS :
|-- obj : Répertoire contenant les objets (.o)
|-- README : Fichier d'informations du projet, en format markdown
`-- src : Répertoire des fichiers sources (.c)
Fichiers sources¶
- Nom du fichier :
- Un préfixe en anglais de 8 caractères maximum pouvant contenir :
- Lettres minuscule
- Chiffres
- Trait de soulignement
- DOIT contenir un des suffixe suivants :
-
.h: entête -
.c: sources
-
- Un préfixe en anglais de 8 caractères maximum pouvant contenir :
- Contenus
- Section Doxygen :
-
@file: Le nom du fichier -
@brief: Une brève description -
@version: Le numéro de version -
@date: La date de dernière modification -
@author: Une liste des participant(e)s et leur courriel -
@copyright: La liste des années et participant(e)s
-
- Les fichiers d’entête contiennent en plus
- Une définition macro pour éviter de ré-inclure le fichier (https://fr.wikipedia.org/wiki/Include_guard).
- Section Doxygen :
Commentaires¶
- Précède l’élément à documenté, avec la même indentation
- En minuscules et commence par une majuscule
- Phrase complète en français
- Sur une ou plusieurs lignes
- De style
- C (/*... */) : Commentaires du code
- Javadoc (/** */, @) : Commentaires devant apparaître dans la documentation (Doxygen)
La documentation est partie intégrante du code
- Les « décorations » (gras, italique, etc.) sont faites avec la syntaxe Markdown
- Italique :
∗ou_ - Gras :
∗∗ou__
- Italique :
- Les commentaires suivants peuvent aussi être utilisés
@todo@bug
- Les « décorations » (gras, italique, etc.) sont faites avec la syntaxe Markdown
Mis à jour par Patrice Nadeau il y a un jour · 189 révisions