Difference between revisions of "Coding style/fr"

From Free Pascal wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
Line 31: Line 31:
  
 
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) :
 
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 44:
  
 
Découpez toutes les conditions if sur plusieurs lignes, ainsi pas de "if (x) and (y) then" mais
 
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
Line 73: Line 75:
 
= Voir aussi =
 
= Voir aussi =
 
* [[DesignGuidelines/fr|Lignes directrices de codage pour Lazarus]]
 
* [[DesignGuidelines/fr|Lignes directrices de codage pour Lazarus]]
<br/>
 

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