Free 4D ToolKit


Sommaire

Organisation

Conventions

Codage

Principe de numérotations

Documentation

Copyright

Bibliographie et assistance


 

Organisation

    Soumission de fonctions

      Chaque membre de 4D-Forum peut soumettre des fonctions à Maurice Inzirillo. Il devra avoir préalablement pris connaissance de la liste des fonctions avant d'en soumettre de nouvelles.

    Approbation

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

    Généralités

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

    Conventions d'écriture

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

    Caractères autorisés :

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

    Les formulaires

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

    Les ensembles

Voir convention d'écriture générale : F4DTK_Ens_XXXXXXXXXXXXX

    Selections

      ?????

    Les énumérations

Voir convention d'écriture générale : F4DTK_Enu_XXXXXXXXXXXXX

    Externes

    Le projet peut aussi contenir des externes dont le code source doit aussi être dans le domaine public

    Touches Claviers

    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 de ressources

    Plage pour les ressources réservées à F4DTK : 15'000 à 15'100

    Compilation

    F4DTK devra être compilable.

Codage

    1. Il faudra faire un usage intensif des pointeurs.
    2. Respect des directives de compilation
    3. Le code doit pouvoir être compilé sans modification sur Windows et sur MacOS !
    4. La méthode sur ouverture sera déplacée dans la méthode "F4DTK_Init".

Principe de numérotation des versions de F4DTK

    Le deuxième digit indique le type de version

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:

    Commentaires en ligne:

    1. Bloc de description de la fonction
    2. 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