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
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.