Difference between revisions of "Coding style/fr"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
(11 intermediate revisions by one other user not shown)
Line 19: Line 19:
  
 
== Indentation ==
 
== Indentation ==
Indentation size is always 2 space characters per level.
+
Le pas d'indentation est toujours de 2 caractères.
  
Never place a ''begin'' on the same line as while..do/if..then/..., but always on its own line (and indent it compared to the while/if/...).
+
Ne jamais placer de ''begin'' sur la même ligne que while..do/if..then/..., mais toujours sur sa propre ligne (et indentez-le par rapport au while/if/...).
  
 
== Retour à la ligne ==
 
== Retour à la ligne ==
  
Newlines are set as it is done by most Object Pascal programs (what does this mean? advice: avoid passive voice).
+
Les retours à la ligne sont configurés à la manière de la plupart des programmes Object Pascal (NdT : ce n'est pas très descriptif).
Separate subroutines by three newlines,
+
Séparer les routines par 3 retours à la ligne ce qui mettra deux ligne blanches entre les deux routines.
that is, put ''two'' blank lines between them.
 
  
 
== Divers ==
 
== Divers ==
  
Please note that the <tt>else</tt> in consecutive <tt>if</tt>s is not indented:
+
Vous pouvez remarquer que le <tt>else</tt> dans des <tt>if</tt>s consécutifs n'est pas indenté (on se ramène en quelque sorte à une instruction case...of) :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
  if x then
 
  if x then
 
   begin
 
   begin
Line 43: Line 43:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Split all composite if-conditions over multiple lines, so no "if (x) and (y) then" but
+
Découpez toutes les conditions if sur plusieurs lignes, ainsi pas de "if (x) and (y) then" mais
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
  if x and
 
  if x and
 
     y then
 
     y then
 
   ..
 
   ..
 
</syntaxhighlight>
 
</syntaxhighlight>
(except possibly if x and y are simply boolean variables)
+
(exception possible des "if x and y then" avec des simples variables booléennes)
  
 
== Exemples ==
 
== Exemples ==
How it looks like can be easily checked by having a look at the [http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc FPC sources].
+
A quoi cela ressemble peut être facilement contrôler en jetant un oeil aux [http://www.freepascal.org/cgi-bin/viewcvs.cgi/?root=fpc sources FPC].
  
 
= FCL =
 
= FCL =
There are no formal standards. '''To do: write me.'''
+
Il n'y pas de norme formelle.
  
 
= Autres paquets livrés avec FPC =
 
= Autres paquets livrés avec FPC =
There are no formal standards. '''To do: write me.'''
+
Il n'y pas de norme formelle.
  
 
= Lazarus =
 
= Lazarus =
  
Since Lazarus and LCL follow Delphi compatibility, a code style similar to the one used in Delphi is used.
+
Depuis que Lazarus et la LCL suivent la compatibilité avec Delphi, un style de codage similaire à celui de Delphi est utilisé.
  
If you're writing a patch or an extension for LCL you should follow its code style.
+
Si vous écrivez un patch ou une extension pour la LCL, vous devriez suivre son style de codage.
  
If you're developing your own component, you're free to use any style you like, but it's suggested to use the LCL style, too.
+
Si vous développez votre propre composant, vous êtes libres d'adopter le style qui vous convient (NdT : vous êtes bien bon Monseigneur), mais il est aussi suggéré d'utiliser le style de la LCL.
  
See the Lazarus coding guidelines: [[DesignGuidelines]]
+
Voir les [[DesignGuidelines/fr|lignes directrices de codage de Lazarus]].
  
For reference, you can find the description of Delphi coding style [http://edn.embarcadero.com/article/10280#8.2.3 here]
+
Pour référence, vous pouvez trouver la description du style de codage Delphi [http://edn.embarcadero.com/article/10280#8.2.3 ici].
  
 
= Voir aussi =
 
= Voir aussi =
 
 
* [[DesignGuidelines/fr|Lignes directrices de codage pour Lazarus]]
 
* [[DesignGuidelines/fr|Lignes directrices de codage pour Lazarus]]

Latest revision as of 05:46, 11 February 2020

English (en) français (fr) русский (ru)

Compilateur FPC et RTL

Introduction

Certains personnes pourraient penser que le style de codage employé dans le code sourec du compilateur FPC et de la RTL de base est légèrement étrange. Mais il est utilisé depuis des années et n'est pas sujet à discussion. Donc prenez ce qui suit comme une norme à suivre.

Mots-clés

Ecrivez tous les mots-clés en minuscules. Il n'est pas besoin de les rendre illisible en les écrivant en majuscules. Les EDI modernes supportent la mise en évidence syntaxique, donc les mots-clés seront facilement reconnaissables.

Espaces

N'utilisez pas d'espaces autour des opérateurs, parenthèses etc. p.exe. écrivez p:=p+i; au lieu de p := p + i ;.

Tabulations

Ne pas utiliser de caractères TAB (ASCII HT, 0x09). Il n'y a pas de réglages par défaut standard, dont l'aspect des codes source utilisant des caractères TAB dépendront des règlages du client. Il peut en résulter un affichage chaotique des codes source. Il faut aligner avec espaces (voir aussi Indentation).

Il reste possible d'activer le remplacement de ce caractère par un nombre d'espaces défini, 2 pour être cohérent avec le paragraphe Indentation. Ainsi, chaque fois que vous utiliserez la touche TAB, les espaces correspondants seront insérés à sa place dans le code source.

Indentation

Le pas d'indentation est toujours de 2 caractères.

Ne jamais placer de begin sur la même ligne que while..do/if..then/..., mais toujours sur sa propre ligne (et indentez-le par rapport au while/if/...).

Retour à la ligne

Les retours à la ligne sont configurés à la manière de la plupart des programmes Object Pascal (NdT : ce n'est pas très descriptif). Séparer les routines par 3 retours à la ligne ce qui mettra deux ligne blanches entre les deux routines.

Divers

Vous pouvez remarquer que le else dans des ifs consécutifs n'est pas indenté (on se ramène en quelque sorte à une instruction case...of) :

 if x then
   begin
     ..
   end
 else if y then
   begin
     ...
   end;

Découpez toutes les conditions if sur plusieurs lignes, ainsi pas de "if (x) and (y) then" mais

 if x and
    y then
  ..

(exception possible des "if x and y then" avec des simples variables booléennes)

Exemples

A quoi cela ressemble peut être facilement contrôler en jetant un oeil aux sources FPC.

FCL

Il n'y pas de norme formelle.

Autres paquets livrés avec FPC

Il n'y pas de norme formelle.

Lazarus

Depuis que Lazarus et la LCL suivent la compatibilité avec Delphi, un style de codage similaire à celui de Delphi est utilisé.

Si vous écrivez un patch ou une extension pour la LCL, vous devriez suivre son style de codage.

Si vous développez votre propre composant, vous êtes libres d'adopter le style qui vous convient (NdT : vous êtes bien bon Monseigneur), mais il est aussi suggéré d'utiliser le style de la LCL.

Voir les lignes directrices de codage de Lazarus.

Pour référence, vous pouvez trouver la description du style de codage Delphi ici.

Voir aussi