commit 6a3803d71e61e2a0d049d3c97e13caee8165e1ab
parent 172bdaa067a6f2ac24d56d1970f918cf23fe9857
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 26 Jun 2026 10:49:43 +0200
Ajoute la section sur les blocs
Diffstat:
| M | doc/fr/star-c.7 | | | 85 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- |
1 file changed, 80 insertions(+), 5 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 June 25, 2026
+.Dd June 26, 2026
.Dt STAR-C 7
.Os
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@@ -589,7 +589,7 @@ visibilité du symbole associé est alors explicite.
.\""""""""""""""""""""""""""""""""""
.Ss Les symboles internes à une unité de compilation
Utiliser le mot clé
-.Sy static
+.Ql static
pour déclarer des variables constantes, et fonctions visibles uniquement
au sein d'une unité de compilation.
.Pp
@@ -631,11 +631,86 @@ foo(void)
}
.Ed
.Pp
-Limiter la directive INLINE aux fonctions élémentaires, destinées à être
-appelées fréquemment et dont le coût de l'appel pourrait alors s'avérer
-significatif.
+Limiter la directive
+.Sy INLINE
+aux fonctions élémentaires, destinées à être appelées fréquemment et
+dont le coût de l'appel pourrait alors s'avérer significatif.
.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES BLOCS
+Ouvrir chaque bloc sur la même ligne que la directive qui en est à
+l'origine
+.Po
+.Ql do ,
+.Ql enum
+.Ql for ,
+.Ql if ,
+.Ql struct ,
+.Ql switch ,
+.Ql union ,
+.Ql while
+.Pc ,
+en séparant par un espace la fin de la directive et le caractère
+.Ql {
+qui marque l'ouverture du bloc :
+.Bd -literal -offset Ds
+if(foo) {
+ bar();
+ qux();
+}
+.Ed
+.Pp
+Exception faite des fonctions, ou le bloc associé est ouvert sur la
+ligne qui suit :
+.Bd -literal -offset Ds
+static void
+foo(void)
+{
+ printf("bar\e");
+}
+.Ed
+.Pp
+Fermer un bloc sur une ligne à part sauf s'il est suivi d'une nouvelle
+directive de contrôle associé à la précédente
+.Po
+.Ql if else ,
+.Ql do while
+.Pc .
+Dans ce cas, ajouter la nouvelle directive de contrôle sur la même ligne
+que celle utilisée pour fermer le bloc, en la séparant du caractère
+.Ql }
+par un espace.
+.Pp
+Aligner la fermeture du bloc à l'indentation de sa directive, ou, dans
+le cas de directives qui se suivent, de l'indentation de la première
+directive à l'origine des blocs successifs :
+.Bd -literal -offset Ds
+if(foo) {
+ bar();
+} else {
+ qux();
+}
+.Ed
+.Pp
+Écrire sur une seule ligne une directive et les opérations qu'elle
+contrôle que si la clarté du code n'en est pas impactée.
+Dans ce cas, l'ouverture et la fermeture du bloc associé se fait sur une
+seule et même ligne :
+.Bd -literal -offset Ds
+if(foo) { bar(); return 0; }
+.Ed
+.Pp
+Ne pas utiliser d'accolades si la directive de contrôle n'est suivie
+d'aucune ou d'une seule directive écrite sur la même ligne :
+.Bd -literal -offset Ds
+while(foo());
+
+if(bar) return 0;
+
+if(qux) {
+ return 1;
+}
+.Ed
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.Sh LES MOTS CLÉS
.Sh LE NOMMAGE
.Sh LES FONCTIONS