star-style

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

commit ca972025a3aec6dd1eacc7e9646e56496b6b77dc
parent 04884f23a53babb598b4b874e45d780d7f29d951
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 30 Jun 2026 19:33:41 +0200

Ajoute la section sur le nommage

Diffstat:
Mdoc/fr/star-c.7 | 128++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 127 insertions(+), 1 deletion(-)

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 June 26, 2026 +.Dd June 30, 2026 .Dt STAR-C 7 .Os .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -815,6 +815,132 @@ switch (c) { .Ed .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LE NOMMAGE +.\"""""""""""""""""""""""""""""""""" +.Ss Les variables +Nommer les variables en minuscules. +Utiliser le tiret bas +.Ql _ +au titre de séparateur entre les termes utilisés dans le nom des +variables : +.Bd -literal -offset Ds +foo_bar +.Ed +.Pp +Expliciter l'objet d'une variable dans son nom avec d'autant plus de +précision que sa portée est grande. +Une variable locale à un bloc de quelques lignes pourra se contenter +d'un nom abrégé tel que +.Va tmp +pour un résultat temporaire, voire n'être qu'un seul caractère +pour un indice +.Va i +ou un nombre d'éléments +.Va n Ns + ; leur contexte d'utilisation venant préciser ce que leur nom résume. +Ce nom abrégé vient non seulement alléger l'écriture mais aussi en +renforcer l'expressivité. +Par exemple +.Va tableau Ns Bq Va i +reste plus clair que +.Va tableau Ns Bq Va indice . +.Pp +Les variables globales sont au contraire à nommer de sorte à décrire ce +qu'elles représentent, indépendemment de tout contexte d'utilisation, +par construction distant de leur déclaration. +Un compteur d'allocations dynamiques global à un programme aura donc +pour nom +.Va compteur_allocations +plutôt que +.Va cpt_allocs . +.\"""""""""""""""""""""""""""""""""" +.Ss Les fonctions +Nommer les fonctions avec des caractères alpha numérique en miniscules, +et séparer les termes qui composent leur nom par un tiret bas +.Pq caractère Ql _ . +.Pp +Donner à une fonction une nom d'autant plus explicite que sa portée est +importante. +Une fonction utilitaire pourra se contenter d'un nom abrégé, tel que +.Fn cmp +pour une fonction de comparaison utilisée comme argument d'un appel à +.Xr qsort 3 +au sein d'un fichier C. +.Pp +Là où une fonction partagée entre plusieurs unitées de compilation aura +un nom plus expressif, tel que +.Fn compare_bar , +pour notamment expliciter le type +.Vt struct bar +des variables comparées. +Jusqu'à préfixer le nom de la fonction par le nom de la bibliothèque +quand elle est une fonction d'interface de ladite bibliothèque. +Pour la bibliothèque +.Ql Foo , +une fonction d'interface sera alors nommée +.Fn foo_compare_bar . +.\"""""""""""""""""""""""""""""""""" +.Ss Les déclarations de types +Utiliser des caractères alphanumériques en minuscules pour nommer les +structures, unions et énumérations. +Utiliser le tiret bas +.Ql _ +pour séparer les différents termes qui composent le nom. +.Bd -literal -offset Ds +struct foo { + int bar; + int baz +}; + +union foo_bar { + double qux; + int xyzzy; +}; +.Ed +.Pp +Utiliser la même convention pour nommer les déclarations typedef. +À l'exception du suffixe +.Ql _T +ajouté au nom de l'identificateur du type, en écho au suffixe +.Ql _t +souvent utilisé pour les déclarations typedef mais réservé par le +standard POSIX. +.Bd -literal -offset Ds +typedef int foo_T; +typedef char foo_bar_T[256]; +.Ed +.Pp +Ne pas utiliser de déclaration typedef sur les structures, unions et +énumérations de sorte à permettre leur déclaration anticipée. +.\"""""""""""""""""""""""""""""""""" +.Ss Constantes et macros +Utiliser des majuscules pour nommer les constantes symboliques, qu'elles +soient des macros ou des constantes énumérées. +Séparer par un tiret bas +.Ql _ +les termes qui composent le nom des constantes. +.Bd -literal -offset Ds +#define FOO_BAR 42 + +enum foo { + BAR, + BAZ, + QUX, +}; +.Ed +.Pp +Pour les arguments de macros, utiliser la convention typographique dite +.Dq camel case +en séparant les termes qui composent le nom de l'argument par une +variation de la casse typographique. +Chaque terme débute par une majuscule, suivi de chiffres ou de +caractères alphanumériques en minuscule : +.Bd -literal -offset Ds +#define FOO(Bar, Qux) ((Bar) + (Bux)) +.Ed +.Pp +Ainsi, les arguments de macros sont différenciés des constantes +symboliques et des variables. +.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LES FONCTIONS .Sh LES VARIABLES .Sh LES CONSTANTES SYMBOLIQUES