star-style

Writing conventions for co-authors
Log | Files | Refs | README | LICENSE

commit e0f0f3243ec076baa965b91bee2e5171bec80a2f
parent 0e461a59cc517c515cd7e0c7ab24f5caac566445
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 23 Jun 2026 10:44:48 +0200

Ajoute la section sur la structure des fichiers sources

Diffstat:
Mdoc/fr/star-c.7 | 130+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
1 file changed, 114 insertions(+), 16 deletions(-)

diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7 @@ -123,23 +123,121 @@ langage utilisé partout ailleurs. Dans un même souci de portabilité, retenir la première version du standard POSIX à partir de laquelle la fonctionnalité recherchée est apparue. +.Pp +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh LA STRUCTURE D'UN FICHIER SOURCE +Suivre une seule et même structure pour tous les fichiers +sources, qu'ils soient des fichiers d'en-tête +.Pq fichiers Ql *.h +ou des unités de compilation +.Pq fichiers Ql *.c . +Un seul schéma de lecture participant à la clarté du code source. +.Pp +Ci-après sont listées les différentes parties d'un fichier source : +.Bl -enum +.\"""""""""""""""""""""""""""""""""" +.It +Un commentaire avec l'avis de copyright et les avis de licence du +programme +.Pq section Sx L'AVIS DE COPYRIGHT ET LES AVIS DE LICENCE Ns + ; +.\"""""""""""""""""""""""""""""""""" +.It +La définition d'une macro qui ajoute au langage C du fichier le support +d'un standard POSIX +.Pq section Sx LE LANGAGE C Ns + ; +.\"""""""""""""""""""""""""""""""""" +.It +Pour un fichier d'en-tête, l'ouverture d'un garde-fou évitant sa double +inclusion. +Il est fermé en toute fin du fichier +.Pq partie 10 Ns + : +.Bd -literal -offset Ds +#ifndef FOO_H +#define FOO_H +.Ed +.Pp +Le nom de la macro testée puis définie est celui du fichier d'en-tête, +suffixé par +.Ql _H +en référence à l'extension +.Ql .h +du fichier. +Dans l'exemple qui précède, le garde-fou concerne donc le fichier +.Pa foo.h . +La convention d'écriture est sinon celle utilisée pour n'importe quelle +macro +.Pq section Sx LES MACROS . +.\"""""""""""""""""""""""""""""""""" +.It +L'inclusion des fichiers d'en-tête requis par le fichier source ; +.Pq section Sx LES FICHIERS D'EN-TÊTE Ns + ; +.\"""""""""""""""""""""""""""""""""" +.It +La définition des macros +.Pq section Sx LES MACROS Ns + ; .\"""""""""""""""""""""""""""""""""" -.Ss La structure des fichiers -.Ss La longueur des lignes -.Ss L'identation -.Ss Les commentaires -.Ss Les fichiers d'en-tête -.Ss La visibilité des symboles -.Ss Les blocs -.Ss Les mots clés -.Ss Le nommage -.Ss Les fonctions -.Ss Les variables -.Ss Les constantes symboliques -.Ss Les macros -.Ss Les allocations dynamiques -.Ss La gestion des erreurs -.Ss Les programme en ligne de commande +.It +La déclaration anticipée des types structurés : +.Bd -literal -offset Ds +/* Type structuré externe au programme */ +struct logger; + +/* Type structuré défini ailleurs dans le programme */ +struct foo; +.Ed +.\"""""""""""""""""""""""""""""""""" +.It +La définition des constantes symboliques +de type +.Vt enum +.Pq section Sx LES CONSTANTES SYMBOLIQUES Ns + ; +.\"""""""""""""""""""""""""""""""""" +.It +La définition des types structurés et de leur(s) constante(s) +.Pq section Sx LES STRUCTURES Ns + ; +.\"""""""""""""""""""""""""""""""""" +.It +La déclaration et définition des fonctions +.Pq section Sx LES FONCTIONS . +Dans l'ordre qui suit : +.Pp +.Bl -tag -compact -width a. +.It a. +La déclaration des fonctions ; +.It b. +La définition des fonctions statiques ; +.It c. +Pour les unités de compilations, la définition des fonctions. +.El +.\"""""""""""""""""""""""""""""""""" +.It +Pour les fichiers d'en-tête, la fin du garde-fou ouvert en 3 pour éviter +la double inclusion du contenu du fichier. +.El +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh LES COMMENTAIRES +.Sh LES FICHIERS D'EN-TÊTE +.Sh LA VISIBILITÉ DES SYMBOLES +.Sh LES BLOCS +.Sh LES MOTS CLÉS +.Sh LE NOMMAGE +.Sh LES FONCTIONS +.Sh LES VARIABLES +.Sh LES CONSTANTES SYMBOLIQUES +.Sh LES STRUCTURES +.Sh LES MACROS +.Sh LES ALLOCATIONS DYNAMIQUES +.Sh LA GESTION DES ERREURS +.Sh LES PROGRAMME EN LIGNE DE COMMANDE +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh FICHIERS .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh VOIR AUSSI .Xr feature_test_macros 7