Coding style/fr
│
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
Please note that the else in consecutive ifs is not indented:
if x then
begin
..
end
else if y then
begin
...
end;
Split all composite if-conditions over multiple lines, so no "if (x) and (y) then" but
if x and
y then
..
(except possibly if x and y are simply boolean variables)
Exemples
How it looks like can be easily checked by having a look at the FPC sources.
FCL
There are no formal standards. To do: write me.
Autres paquets livrés avec FPC
There are no formal standards. To do: write me.
Lazarus
Since Lazarus and LCL follow Delphi compatibility, a code style similar to the one used in Delphi is used.
If you're writing a patch or an extension for LCL you should follow its code style.
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.
See the Lazarus coding guidelines: DesignGuidelines
For reference, you can find the description of Delphi coding style here