Spécification du formulaire de création de code Delphi Le but de cette spécification : donner à votre code une apparence unifiée et standard, améliorer
Lisibilité, compréhensibilité, maintenabilité
Principe de cette spécification : le nom reflète le sens, la forme reflète la structure
1. Style d'unité
2. Style de chaque quartier
3. Style de déclaration
4. Règles de dénomination
Référence : Guide de style officiel Object Pascal de Borland
Guide du programmeur Delphi5 sur les normes de codage
{ }
{nom du projet}
{ }
{Copyright (C) 2000,2001 Nom de l'entreprise}
{ }
{************************************************* * *****}
unité NomUnité ;
{************************************************* * ***
projet:
Module:
décrire:
Version:
date:
auteur:
renouveler:
FAIRE:
************************************************** * *****}
interface
utilise
----,----,----,----,----,----,----,----,----,----, ----,
----,----, ----,----,----,----;
const
-------------------;
-------------------;
-------------------;
taper
-------------------;
-------------------;
-------------------;
-------------------;
-------------------;
-------------------;
var
-------------------;
-------------------;
-------------------;
mise en œuvre
utilise
----,----,----,----;
{$R *.RES}
{$R *.DFM}
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
---------------------------------;
fin.retour
Commentaires sur le sujet, description de l'objectif des procédures fonctionnelles, commentaires sur les instructions
Lignes vides : Blocs de copyright, entre classes, entre méthodes -- (deux lignes) Blocs internes de méthodes (une ligne)
Espace : utilisé pour améliorer la clarté
Retrait : deux espaces
----- = ----;
----- = ----;
----- = ----;
----- = ----;Extension
Préfixe : seulement C_--- ; jusqu'à un préfixe par sujet
Const
{ Thème 1 }
C_--- = ----; {signification}
C_--- = ----; {signification}
C_--- = ----; {signification}
C_--- = ----; {signification}
{ Thème 2 }
----- = ----;
----- = ----;
----- = ----;
----- = ----; Chaîne de ressource, placée après la zone variable
chaîne de ressources
const
S_--- = '----';
S_--- = '----';
S_--- = '----';
Exemple : CM_BASE = 000 $ ;
CM_ACTIVATE = CM_BASE + 0 ;
CM_DEACTIVATE = CM_BASE + 1 ;
CM_GOTFOCUS = CM_BASE + 2 ;
CM_LOSTFOCUS = CM_BASE + 3 ;
NumPaletteEntries = 20 ;
BoxPoints : tableau[0..5, 0..2] de GLfloat =
((-1, 0, 0),
(0, 1, 0),
(1, 0, 0),
(0, -1, 0),
(0, 0, 1),
(0, 0, -1) );
{ Codes de type de variante (wtypes.h) }
varVide = 0000 $ ; { vt_empty }
varNull = 0001 $ ; { vt_null }
varPetitint = $0002 ; { vt_i2 }
GIFVersions : tableau[gv87a..gv89a] de TGIFVersionRec = ('87a', '89a');
T---- = ---------
Type d'objet -> Entité avec état et fournissant des services
T---- = classe(----)
Privé
---------
---------
protégé
---------
---------
publique
---------
---------
publié
---------
---------
fin ; Trier par ordre alphabétique Privé
1. Toutes les données sont placées dans la zone Privée, en commençant par F
2. Les pointeurs de méthode correspondant à tous les attributs d'événement sont placés dans la zone Privée, en commençant par F.
3. Les méthodes Get et Set des attributs sont placées dans la zone Privée --> ne sont pas prêtes à être héritées.
4. La méthode pour répondre au message est placée dans la zone Privée.
protégé
1. Méthodes et attributs appelés par les sous-classes mais ne peuvent pas être appelés par le monde extérieur
2. Méthodes permettant aux sous-classes de surcharger virtual ;
publique
1. Construire une méthode de destructeur
2. Modalités pour les appels externes
3. Attributs pour les appels externes
publié
1. Propriétés qui apparaissent dans l'inspecteur d'objets à des fins de conception
2. Un exemple de réponse à un événement qui apparaît dans l'inspecteur d'objets au moment de la conception : TGIFVersion = (gvUnknown, gv87a, gv89a) ;
TGIFVersionRec = tableau[0..2] de caractères ;
PInterfaceTable = ^TInterfaceTable;
TInterfaceTable = enregistrement compressé
Nombre d'entrées : entier ;
Entrées : tableau[0..9999] de TInterfaceEntry ;
{ déclaration forWord }
TGIFImage = classe ;
TGIFSubImage = classe ;
{-------------------------------
ArticleTGIF
--------------------------}
TGIFItem = classe (TPersistent)
privé
FGIFImage : TGIFImage ;
............
fin;
Attention à ne pas avoir de variables d'objet de classe par défaut, déclarez-les dans l'appelant !
var
----------- : ------- ;
----------- : ------- ;
exemple:
GIFDelayExp : entier = 10 ; {Multiplicateur de délai en mS.}
GIFDelayExp : entier = 12 ;
thème
-------------------------------------------------- ---------}
{Objectif de la méthode}
procédure ----------------------------
commencer
----;
----;
fin;
{Objectif de la méthode}
fonction--------------------------------
commencer
----;
----;
fin;
Format de retour