Sommaire
Organisation
Conventions
Organisation
- Une fois la proposition de fonctions approuvés, il recevra la
dernière version du code source officiel.
- Après chaque nouvelle implémentation, une annonce sera faite sur
4D-Forum par Maurice Inzirillo pour un appel à discussion sur
la nouvelle implémentation. Une fois un certain consensus obtenu,
il sera passé au vote. Pour être valable un minimum de 10 votes
positifs devront être reçu. Si il y a au moins un vote négatif
commenté, une discussion sera de nouveau lancée afin d'obtenir
un consensus et un nouveau passage au vote.
-
Thèmes de travail
- Les thèmes de travail seront l'objet de discussions sur 4D-Forum
et seront listés ci-dessous :
- Assistant de programmation
- Editeur de ressources
- Gestionnaire de process
- Sécurisation de fichiers de structure et de données
- ToolBox
- ...
Conventions
- Le projet ne doit pas faire intervenir de table dans la mesure
du possible.
-
- Toutes les informations à mémoriser doivent l'être dans le fichier
F4DTK.RSR sous forme de ressources.
-
- Le code sera multi-plateforme et Client/Server.
-
- Le code devra être compilable sans erreurs
-
- Afin de rendre la programmation la plus simple et la plus facile
à réutiliser nous allons utiliser la programmation générique.Ce
type de programmation est appelé "Orienté objet" .
- Nous allons concevoir des modules (packages) constitués par des
groupes de méthodes et de formulaires répondant à des fonctions
précises tel que : Chercher/remplacer, Commenter, edition de ressources,
etc..
- Pour utiliser ces modules, il n'est pas nécessaire de savoir ce
qu'ils font. Et les modifier ne doit pas influencer le fonctionnement
des autres méthodes de la base qui les appellent !
- Par exemple, l'ajout d'un nouveau paramètre à passer à une méthode,
pour un besoin particulier, ne doit pas obliger à modifier toutes
les méthodes faisant appelle à cette méthode ! Il est donc nécessaire
d'utiliser la fonction : Nombre de paramètres (voir la documentation
de 4D ) .
- Chaque objet sera composé du préfixe F4DTK_ suivi d'une description de l'objet dont nous verrons plus loin les règles.
-
- La description doit être la plus explicite possible
La structure des noms des objets
- Sera donc de la forme :
- F4DTK_XXXXXXXXXXXXXXXX
- A-Z, a-z, 0-9 et _ (souligné)
Mode majuscule et minuscule
- La description est en minuscule et doit commencer par une majuscule.
Chaque mot de la description devra débuter par une majuscule
- Exemple : F4DTK_RechercherRemplacer
-
Le souligné (_)
- Le souligné permettra de séparer le préfixe et le suffixe de la
description ainsi que chaque entité définissant la description.
- Exemple : F4DTK_Do_RechercherRemplacer
-
Les objets de types Booléens
- la description des booléens (variables, champs) doit-être non
équivoque.
- La description d'un booléens doit définir sa fonction positive.
-
| Bon |
Mauvais |
|
F4DTK_EstFatigué
|
F4DTK_Etat
|
|
F4DTK_Trouvé
|
F4DTK_PasTrouvé
|
-
-
Les variables
- La description des variables répondra aux conventions suivantes
:
| Préfixes |
Type |
Exemple |
| t |
Tableau |
F4DTK_t_Structure |
| d |
Date |
F4DTK_d_Recherche |
| fl |
flag (Booléen) |
F4DTK_fl_Palette |
| e |
entier |
F4DTK_e_NumeroDeVersion |
| n |
Entier Long |
F4DTK_n_NumeroDeSerie |
| r |
Réel |
F4DTK_r_TotalDebiteur |
| a?? |
Alpha + Longueur |
F4DTK_a5_CodePostal |
| p |
Pointeur |
F4DTK_p_Bouton |
| im |
Image |
F4DTK_im_Produit |
| h |
Heure |
F4DTK_h_Creation |
| tx |
Texte |
F4DTK_tx_Remarque |
-
-
Préfixes de variables d'interfaces
| Préfixes |
Type |
Exemple |
| b |
Bouton |
F4DTK_b_Valider |
| bc |
Boîte à cocher |
F4DTK_bc_RecherchePartout |
| ?rb |
Boutons radio |
F4DTK_srb_VeutCommander |
-
Combinaison de préfixes
- Afin de compléter le type de variable il peut-être nécessaire
de combiner les préfixes de type
- Exemples :
| Préfixes |
Type |
Exemple |
| ttx |
Tableau, Texte |
F4DTK_ttx_Commentaires |
| ta30 |
Tableau, Alpha, 30 caractères |
F4DTK_ta30_RecherchePartout |
| pn |
Pointeur vers un Entier Long |
F4DTK_pn_Serie |
| rb |
Boutons radio |
aF4DTK_rb_VeutCommander |
- Remarque : Les boutons radio qui fonctionnent ensemble doivent
commencer par la même lettre, c'est pourquoi il vous appartiendra
de fixer le préfixe (une lettre maxi) pour les boutons radios.
-
-
Variables inter-process spéciales
- <>fl_Debug
|
Indique si l'application est en mode debug |
| <>fl_Demo |
Indique si l'application est en mode démo |
| <>fl_EnTest |
Indique si l'application est en mode test |
| <>Plateforme |
Indique la plate-forme du client : 68k, PPC ou Windows |
| <>Système |
Indique le système d'exploitation |
| <>Machine |
Modèle de machine du client |
-
-
Les méthodes
-
| Préfixes |
Type |
Exemple |
- compiler_F4DTK
|
Cette procédure contiendra les directives de compilation propre
au projet F4DTK |
Pour 4D, les méthodes contenant les directives de compilation
doivent commencer par le mot "compiler" et donc exceptionnellement
la méthode de compilation du projet s'appelera : compiler_F4DTK |
| do_ |
Méthode appeler par une méthode objet |
F4DTK_do_Recherche |
| ex_ |
Méthode appelée par la commande Executer |
F4DTK_ex_ChercheCommande |
| g???_ |
Méthode générique utilisée par plusieurs modules de l'application |
F4DTK_gExp_Initialisation
Exemple : générique pour l'initialisation de la fonction d'export |
| hdl_ |
Méthode gérant les erreurs ou les évènements |
F4DTK_hdl_Event |
| init_ |
Méthode qui initialise des variables dès le lancement de l'application
ou dès l'ouverture d'un formulaire |
F4DTK_init_SurOuverture |
| m_ |
Méthode appelée par une ligne de menu |
F4DTK_m_Chercher |
| p_ |
Méthode qui crée un process en utilisant la fonction Nouveau Process |
F4DTK_p_Info |
| fct_ |
Méthode utilisée en tant que fonction et retournant une valeur
dans $0 |
F4DTK_fct_NbreDeVarLocalDansMethode |
| fctint_ |
Méthode utilisée en tant que sous fonction de la fonction fct_ |
F4DTK_fctint_RechercheDeVarLocal |
| quit_ |
Méthode éxécutée lors de l'arrêt de l'application |
F4DTK_quit_SauveContexte |
| Préfixes |
Type |
Exemple |
| Liste_ |
Liste |
F4DTK_Liste_MotsClés |
| Saisie_ |
Saisie, |
F4DTK_Saisie_Paramètres |
| Dial_ |
Dialogue |
F4DTK_Dial_ChoixPortSérie |
| Imp_ |
Impression |
F4DTK_Imp_Statistiques |
- Voir convention d'écriture générale : F4DTK_Ens_XXXXXXXXXXXXX
- Voir convention d'écriture générale : F4DTK_Enu_XXXXXXXXXXXXX
- Le projet peut aussi contenir des externes dont le code source
doit aussi être dans le domaine public
- Règles générales :
- La touche "Commande" (Cde) réalise une action : Par exemple Commande-P
pour imprimer
- La touche "Option" (ou Alt) popose une option qui sera différente
de la fonction normale.
Par exemple : Commande-E exportera les données d'un fichier, Option-Commande-E
copiera les données dans le presse-papier
- La touche de Control (Ctrl) permettra un contrôle de l'action
à réaliser.
Par exemple : Ctrl-Commande-E présentera une fenêtre de dialogue
permettant de définir les paramètres d'exportation.
- Les touches Shift et Caps-Lock (Blocage majuscule) ne doivent
pas être utilisés.
- Dans le cadre du projet F4DTK, exceptionnelement et pour éviter
des interférences avec le lancement du mode trace, nous utiliserons
en lieu et place de la touche "Option" (ou Alt) la touche "Shift"
- Plage pour les ressources réservées à F4DTK : 15'000 à 15'100
- F4DTK devra être compilable.
Codage
- Il faudra faire un usage intensif des pointeurs.
- Respect des directives de compilation
- Le code doit pouvoir être compilé sans modification sur Windows
et sur MacOS !
- La méthode sur ouverture sera déplacée dans la méthode "F4DTK_Init".
Principe de numérotation des versions de F4DTK
- S'il est pair, il s'agit une version stable
Exemple : 2.0.x
-
- S'il est impair, c'est une version en cours de développement
Exemple : 2.1.x
-
-
Documentation du source:
- Bloc de description de la fonction
- Commentaires nombreux
Si nécessaire, il est possible d'utiliser une méthode pour une
documentation plus complète. Pour ce faire et permettre de retrouver
facilement cette documentation
| Suffixe |
Type |
Exemple |
- _doc
|
Cette procédure contiendra la documentation sous forme de commentaires,
relative à la méthode F4DTK_XXX |
F4DTK_do_Recherche_doc |
- Optionel: les objets seront documentés avec 4D Insider
Un fichier de documentation externe devra être joint avec chaque
proposition de code. Ce fichier devra expliquer sa fonction, le
comportement du code, etc...
Le francais sera la langue de documentation
Copyright
- Le code du projet ne doit pas être soumis à un autre Copyright
que la GPL.
-
Bibliographie et assistance:
- Notes techniques ACI 96-40
- Guide -Part 1 - Developper Tool - ACI par Jean-Pierre Ribreau
-
- Alain Meunier
- Pierre Jean COUDERT
- Dr Christian VILLETEAU
- Frere Dominique Savio Marie
- Benoit Angibault
-
- Réalisé le 11 Juin 1998 - Maurice Inzirillo
date de modification - MI |