star-style

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

commit ce9a2f4a4a059985c3c00f56841606bc7523a0b5
parent 3cf41419400b820bd659f372820373cf1c4bd5c6
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Mon, 13 Jul 2026 14:09:07 +0200

Ajoute la section sur les constantes

Diffstat:
Mdoc/fr/star-c.7 | 77+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 73 insertions(+), 4 deletions(-)

diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7 @@ -15,7 +15,7 @@ .\" Vous devez avoir reçu une copie de la GNU General Public License en .\" même temps que Star-Style ; si ce n'est pas le cas, consultez .\" <http://www.gnu.org/licenses>. -.Dd July 11, 2026 +.Dd July 13, 2026 .Dt STAR-C 7 .Os .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -1056,8 +1056,8 @@ peut ainsi être utilisée pour la recherche d'une fonction dans les différents fichiers sources. .Pp Pour une déclaration, revenir à la ligne avant d'ouvrir la parenthèse de -la fonction, précédée d'une identation par rapport au nom de la fonction -sur la ligne qui précède. +la fonction, précédée d'une indentation par rapport au nom de la +fonction sur la ligne qui précède. Puis lister les arguments de la fonction, en revenant à la ligne après chacun d'eux et en les alignant les uns par rapport aux autres. Ajouter la parenthèse fermante @@ -1124,7 +1124,76 @@ madd(const double a, const double b, const double c) .Ed .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LES VARIABLES -.Sh LES CONSTANTES SYMBOLIQUES +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +.Sh LES CONSTANTES +Utiliser une énumération si les constantes à définir sont liées +sémantiquement, et une macro sinon : +.Bd -literal -offset Ds +#define ID_INVALIDE ((unsigned)-1) + +enum { X, Y, Z }; + +enum attribut { + POSITION, + NORMALE, + TEXCOORD +}; +.Ed +Pour une énumération qui utilise des valeurs par défaut, +ajouter si besoin une dernière constante qui définit le nombre de +constantes valides ; +sa valeur sera ainsi automatiquement mise à jour à chaque changement de +l'énumération. +Une telle constante peut s'avérer utilie au titre de cardinalité d'un tableau, +de valeur du dernier indice marquant la fin d'une itération, +ou encore comme valeur vis à vis de laquelle la validité d'une variable +du type énumérée peut être vérifiée. +.Bd -literal -offset Ds +enum molecule { + H2O, + CO2, + O3, + N2O, + CO, + CH4, + + NOMBRE_DE_MOLECULES +}; + +/* Vérifier qu'une constante définie une molecule valide */ +#define MOLECULE_EST_VALIDE(Mol) ((unsigned)(Mol) < NOMBRE_DE_MOLECULES) + +static const char* NOM_DES_MOLECULES[NOMBRE_DE_MOLECULES] = { + "H2O", "CO2", "O3", "N2O", "CO", CH4 +}; +.Ed +.Pp +Définir les valeurs par défaut d'une structure à l'aide d'une variable +constante du type concerné, déclarée en tant que variable statique. +Et une macro qui liste ses valeurs par défaut, utilisé pour initialiser +ladite variable : +.Bd -literal -offset Ds +struct foo { + int bar; + float baz; +}; +#define FOO_DEFAULT__ {-1,0} +static const struct foo FOO_DEFAULT = FOO_DEFAULT__; +.Ed +.Pp +N'utiliser la macro que lorsqu'il est impossible d'utiliser la variable +constante, en l'occurence, pour initialiser à la définition d'une autre +structure une variable membre de ce type. +.Bd -literal -offset Ds +struct qux { + struct foo foo; + double + int quux; +}; +#define QUX_DEFAULT__ {FOO_DEFAULT__, 0} +static const struct qux QUX_DEFAULT = QUX_DEFAULT__; +.Ed +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LES STRUCTURES .Sh LES MACROS .Sh LES ALLOCATIONS DYNAMIQUES