Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
prog:lazarus:bonnes_pratiques [05/05/2020 10:12] thierry créée |
prog:lazarus:bonnes_pratiques [15/06/2023 11:43] (Version actuelle) thierry [Property Published de Type Object doivent être assignées] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Les Bonnes pratiques en Pascal Object ====== | ====== Les Bonnes pratiques en Pascal Object ====== | ||
===== Événements ===== | ===== Événements ===== | ||
+ | ==== OnXXX doit etre géré par DoXXX ==== | ||
+ | |||
Prendre soin de toujours accompagner un événement (OnXXXX) par sa procédure d'appel (DoXXXX).\\ Par exemple l'evenement OnChange doit etre géré dans la procedure DoChange.\\ | Prendre soin de toujours accompagner un événement (OnXXXX) par sa procédure d'appel (DoXXXX).\\ Par exemple l'evenement OnChange doit etre géré dans la procedure DoChange.\\ | ||
- | La Procédure DoXXX doit etre dans la section ''protected'' et déclarée comme ''virtual'' pour permettre aux descendants de l'ignorer et d'intercepter les appels. | + | La Procédure DoXXX doit etre dans la section ''protected'' et déclarée comme ''virtual'' pour permettre aux descendants de l'ignorer et d'intercepter les appels en la surchargeant. |
+ | ==== Property Published de Type Object doivent être assignées ==== | ||
+ | Concerne la création de component :\\ | ||
+ | Quand une ''Property Published'' est un objet.\\ | ||
+ | On doit l'assigner avec un ''SetXXX'' et ''OBJECT.Assign''.\\ | ||
+ | Sinon il ne sera pas initialiser pas le système lors de la création du component. | ||
+ | <code delphi> | ||
+ | published | ||
+ | property Margin: TMarginObject read FMargin write SetMargin; // BIEN ! | ||
+ | property Margin: TMarginObject read FMargin write FMargin; // PAS BIEN ! | ||
+ | |||
+ | // Avec: | ||
+ | procedure TMonObjet.SetMargin(AValue: TMarginObject); | ||
+ | begin | ||
+ | FMargin.Assign(AValue); | ||
+ | end; | ||
+ | </code> | ||
+ | ===== Calculs ===== | ||
+ | ==== Division ==== | ||
+ | Si le diviseur est une variable, toujours vérifier si le diviseur n'est pas ZERO avant d'effectuer la division. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Ressources ===== | ||
+ | * [[https://edn.embarcadero.com/article/10280|Object Pascal Style Guide @Embarcadero]] | ||
+ | * [[https://www.riff.org/node/11897|Notation Hongroise]] | ||
+ | * [[https://www.developpez.net/forums/blogs/360691-retwas/b2050/bonnes-pratiques-delphi/]] | ||