star-style

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

commit 172bdaa067a6f2ac24d56d1970f918cf23fe9857
parent cfa5c75f45aeed1adafe603d4a24243c55a8ef61
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 26 Jun 2026 08:45:27 +0200

Relecture

Diffstat:
Mdoc/fr/star-c.7 | 63+++++++++++++++++++++++++++++++--------------------------------
1 file changed, 31 insertions(+), 32 deletions(-)

diff --git a/doc/fr/star-c.7 b/doc/fr/star-c.7 @@ -36,7 +36,7 @@ projet, avant les préférences listées ici. .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LE CONTENU D'UN PROJET En suivant le philosophie UNIX, assurer un jeu de -fonctionnalités par programme aussi rammassé que possible de +fonctionnalités par programme aussi ramassé que possible de sorte à ce que sa mise en oeuvre et son interface restent simples et ciselées. L'objet étant d'assurer sa robustesse, son efficacité et sa @@ -123,7 +123,6 @@ 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 @@ -294,12 +293,12 @@ est : * <https://www.gnu.org/licenses/>. */ .Ed .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -.Sh L'IDENTATION +.Sh L'INDENTATION Indenter le texte par 2 espaces. La mise en page du texte, taille de ligne comprise, est ce faisant indépendante de la taille d'une tabulation. .Pp -Les auteurs sont encourgés à configurer leur éditeur pour +Les auteurs sont encouragés à configurer leur éditeur pour qu'il développe chaque caractère tabulation en 2 espaces .Pq section Sx FICHIERS . Et ainsi continuer à utiliser la touche tabulation pour l'indentation. @@ -309,7 +308,7 @@ des tabulations, laisse plus d'espace aux différents niveaux d'indentation, dès lors moins contraints par la limite du nombre de caractères par ligne .Pq section Sx LA LONGUEUR DES LIGNES . -Néanmoins, un niveau d'indentation supèrieur à 3 est aussi le signe d'un +Néanmoins, un niveau d'indentation supérieur à 3 est aussi le signe d'un déficit de structure dans l'écriture du programme. Les 2 espaces retenus pour indenter le code n'est donc pas une incitation à aller au delà de 3 niveaux d'indentation sous prétexte de @@ -319,7 +318,7 @@ Indenter le contenu de chaque bloc .Pq section Sx LES BLOCS . Pour la directive .Ql switch , -identer chaque +indenter chaque .Ql case ainsi que leur contenu : .Bd -literal -offset Ds @@ -356,7 +355,6 @@ y[0] = 0.0; y[1] = 1.0; Ne sauter au plus qu'une ligne. Ne pas laisser d'espace en fin de ligne et supprimer les lignes vides en fin de fichier. -.Pp .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LES COMMENTAIRES Utiliser des commentaires dès lors que la seule expressivité serrée du @@ -440,10 +438,10 @@ les en-têtes des dépendances ; les en-têtes systèmes et de la bibliothèque C standard. .El .Pp -Les fichiers d'en-tête sont ainsi inclus dans l'ordre inverse de leur -niveau d'abstraction. -Cet ordre participe à garantir que chaque fichier d'en-tête inclu les -en-têtes dont il a lui même besoin, indépendemment des directives +Les fichiers d'en-tête sont ainsi inclus dans l'ordre décroissant de +leur niveau d'abstraction. +Cet ordre participe à garantir que chaque fichier d'en-tête inclus les +en-têtes dont il a lui même besoin, indépendamment des directives d'inclusion qui précèdent sa propre inclusion. Si ce n'est pas le cas, la compilation pourra échouer, symptôme qu'un des fichiers d'en-tête n'est pas auto-consistant. @@ -452,7 +450,7 @@ Dans chaque groupe, trier les directives d'inclusion par ordre alphabétique des fichiers d'en-tête. Si besoin, ajouter un commentaire court, sur la même ligne que la directive d'inclusion, qui explicite la raison pour laquelle la fichier -est inclu. +est inclus. .Bd -literal -offset Ds #include "bar.h" #include "foo.h" @@ -471,29 +469,28 @@ la place d'inclure des en-têtes dans le seul but de déclarer lesdits types. Un enjeu a considérer avec d'autant plus d'attention que le fichier concerné par les inclusions est lui même un fichier d'en-tête, par -conséquent amené à être lui même inclu. +conséquent amené à être lui même inclus. L'objet étant de limiter autant que possible le nombre de fichiers -inclus par unité de compilation, pour limiter les accés disque et ainsi -reduire les temps de compilation. -.Pp +inclus par unité de compilation, pour limiter les accès disque et ainsi +réduire les temps de compilation. .\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" .Sh LA VISIBILITÉ DES SYMBOLES Par défaut, n'exposer aucun symbole .Po option -.Fl -fvisibility=hidden +.Fl fvisibility=hidden du compilateur .Xr gcc 1 .Pc , -à l exception de ceux de l'interface de programmation d'une +à l'exception de ceux de l'interface de programmation d'une bibliothèque. .\"""""""""""""""""""""""""""""""""" .Ss Les symboles d'interface Privilégier l'écriture d'un seul fichier d'en-tête pour exposer l'interface de programmation d'une bibliothèque. -Y définir une macro d'API qui exporte les symboles qu'elle déclare dès -lors que ce fichier d'en-tête est inclus par une unité de compilation de -la bibliothèque. +Y définir une macro qui exporte les symboles qu'elle déclare dès lors +que ce fichier d'en-tête est inclus par une unité de compilation de la +bibliothèque. Et qui se contente d'importer ces mêmes symboles si ce même fichier est inclus par un programme tiers : .Bd -literal -offset Ds @@ -513,7 +510,7 @@ Avec : une macro définie uniquement à la compilation de la bibliothèque .Po option -.Fl -D FOO_SHARED_BUILD +.Fl DFOO_SHARED_BUILD du compilateur C .Pc Ns  ; @@ -521,18 +518,20 @@ du compilateur C .Sy EXPORT_SYM et .Sy IMPORT_SYM -des macros de la bibliothèque RSys. +des directives définies dans la bibliothèque RSys. Elles enrichissent le langage C d'une gestion explicite de la visibilité des symboles. .El -.Pp +Utiliser cette macro à la déclaration des variables et constantes +d'interfaces : .Bd -literal -offset Ds /* Variables globales de l'interface de programmation */ FOO_API const struct foo foo_plugh; FOO_API const struct foo foo_xyzzy; .Ed .Pp -Déclarer le prototype des fonctions d'interface entre les directives +Déclarer en plus le prototype des fonctions d'interface entre les +directives .Sy BEGIN_DECLS et .Sy END_DECLS , @@ -556,9 +555,9 @@ END_DECLS .Ed .\"""""""""""""""""""""""""""""""""" .Ss Les symboles internes partagés -Pour les fichiers d'en-tête internes au programme utiliser la directive +Pour les fichiers d'en-tête internes au programme, utiliser la directive .Sy LOCAL_SYM , -défini dans le fichier +définie dans le fichier .In rsys/rsys.h de la bibliothèque RSys, pour déclarer les variables globales et prototypes de fonctions. @@ -578,7 +577,7 @@ Cette directive est redondante si le compilateur est configuré pour masquer par défaut tous les symboles .Po option -.Fl -fvisibility=hidden +.Fl fvisibility=hidden de .Xr gcc 1 .Pc . @@ -591,10 +590,10 @@ visibilité du symbole associé est alors explicite. .Ss Les symboles internes à une unité de compilation Utiliser le mot clé .Sy static -pour déclarer des variables et fonctions visibles uniquement au sein -d'une unité de compilation. +pour déclarer des variables constantes, et fonctions visibles uniquement +au sein d'une unité de compilation. .Pp -C'est le cas notamment des constantes globales : +C'est notamment le cas de constantes symboliques structurée : .Bd -literal -offset Ds struct foo { int bar; @@ -619,7 +618,7 @@ définie dans l'en-tête .In rsys/rsys.h de la bibliothèque RSys, pour suggérer au compilateur de substituer l'appel de la fonction par le -corps de la fonction elle-même, de sorte à éviter le surcoût de l'appel. +corps de celle-ci, de sorte à éviter le sur coût de l'appel. Cette directive est équivalente au mot clé .Sy inline du C99, indisponible dans le dialecte C retenu